2013-05-02 11 views
13

O ile mi wiadomo, Tesseract 3.x ma 6 angielskich (popraw mnie, jeśli się mylę) czcionek. Muszę wyszkolić Tesseract na więcej 5 typów czcionek. Potrzebuję tylko wielkich liter i cyfr (bez znaków specjalnych lub symboli)."Dodawanie" nowych czcionek do Tesseract eng.traineddata

Śledziłem różne procesy na przykład: Adding New Fonts to Tesseract 3 OCR Engine

a także używanych narzędzi do automatyzacji procesu jak Serak Tesseract Trainer for Tesseract 3.02

Do generowania plików skrzynki użyłem QT Box Editor

Po zastosowaniu powyższych narzędzi mam eng.traineddata plik. Wszystkie samouczki mówią, żebym dodał ten plik eng.traineddata do folderu Tesseract-OCR\tessdata, ale spowoduje to zastąpienie oryginalnego pliku eng.traineddata. Czy po wykonaniu tej czynności stracę domyślne czcionki, które pochodzą z Tesseract 3.x?

Jak mogę dodać nowe czcionki? Nadal nie jest dla mnie jasne. Mam nadzieję, że ktoś mi w tym pomoże. Dzięki.

Odpowiedz

15

Należy użyć innej nazwy, np. eng1.traineddata. W ten sposób możesz użyć nowych danych z oryginalnymi, określając opcję językową -l eng+eng1.

+1

gdzie mogę określić opcję językową -l eng + eng1? – manu

+1

Może to zabrzmieć zbyt leniwie, ale czy istnieje sposób na udostępnienie pliku czcionki jako wejścia (na przykład na stronę), a wyszkolona 'tessdata' jest dostarczana jako wynik? – tipycalFlow

+0

@tipycalFlow [jTessBoxEditor] (http://vietocr.sourceforge.net/training.html) ma generator TIFF/Box. Możesz podać plik czcionki i otrzymać pudełko z prawidłowymi wartościami. Z [Serak Tesseract Trainer] (http://code.google.com/p/serak-tesseract-trainer/) możesz zrobić resztę. –

0

Jeśli masz nowe wyszkolone dane z inną czcionką, myślę, że nie masz korekty słownikowej dla nowej czcionki.

Aby dodać nową wyszkolony dane można to zrobić (używam kodu PHP tutaj)

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

Widząc funkcję tesseract.php setLanguage(), można ustawić język przez tę funkcję.

Powiązane problemy