2013-05-02 17 views
13

Per quanto ne so, Tesseract 3.x viene fornito con 6 caratteri inglesi (correggimi se sbaglio). Devo addestrare Tesseract per altri 5 tipi di caratteri. Ho bisogno solo di lettere maiuscole e cifre (senza caratteri speciali o simboli)."Aggiungere" nuovi caratteri a Tesseract eng.traineddata

ho seguito vari processi per esempio: Adding New Fonts to Tesseract 3 OCR Engine

e strumenti utilizzati anche per automatizzare il processo come Serak Tesseract Trainer for Tesseract 3.02

Per generare file scatola ho usato QT Box Editor

Dopo usando strumenti sopra ottengo eng.traineddata file. Tutti i tutorial mi dicono di aggiungere questo file alla cartella Tesseract-OCR\tessdata, ma così facendo sostituirà il file originale eng.traineddata. Dopo averlo fatto, perderò i font predefiniti forniti con Tesseract 3.x?

Come posso aggiungere nuovi caratteri? Non è ancora chiaro per me. Spero che qualcuno possa aiutarmi qui. Grazie.

risposta

15

Utilizzare un nome diverso, ad esempio eng1.traineddata. In questo modo è possibile utilizzare i nuovi dati con quello originale specificando l'opzione lingua -l eng+eng1.

+1

dove posso specificare l'opzione della lingua -l eng + eng1? – manu

+1

Questo potrebbe sembrare troppo pigro ma esiste un modo per fornire un file di font come input (ad un sito Web, ad esempio) e un 'tessdata' addestrato viene fornito come output? – tipycalFlow

+0

@tipycalFlow [jTessBoxEditor] (http://vietocr.sourceforge.net/training.html) ha un generatore TIFF/Box. È possibile fornire un file di font e ottenere una casella con i valori corretti. Con [Serak Tesseract Trainer] (http://code.google.com/p/serak-tesseract-trainer/) puoi fare il resto. –

0

Se si dispone di nuovi dati addestrati con caratteri diversi, penso che non si disponga della correzione del dizionario per il nuovo carattere.

Per aggiungere nuovi dati addestrato si può fare questo (sto usando il codice PHP qui)

// as you new trained data, it must be 3 letter prefix 
// what ever 3 letter you want 
$languange = "eng+deu"; 
$settingLanguage = $tesseract -> setLanguage($language) ; 

Vedendo la funzione tesseract.php setLanguage(), è possibile impostare la lingua da quella funzione.

Problemi correlati