Limit Zeichen Tesseract sucht
Frage
Kann man den Zeichensatz zu begrenzen, dass Tesserakts sucht ( zB Suche nur nach Buchstaben aZ)? Das würde meine Ergebnisse erheblich verbessern.
Lösung
Erstellen Sie eine Konfigurationsdatei (z "Buchstaben") in tessdata / configs Verzeichnis - in der Regel /usr/share/tesseract/tessdata/configs
oder in
/usr/share/tesseract-ocr/tessdata/configs
Und fügen Sie diese Zeile in der Konfigurationsdatei:
tessedit_char_whitelist abcdefghijklmnopqrstuvwxyz
... oder vielleicht [a-z] funktioniert .. Keine Ahnung :-)
Dann rufen Tesserakts ähnlich wie folgt aus:
tesseract input.tif output nobatch letters
Das wird begrenzen Tesserakts nur die wollte Zeichen erkennen
Andere Tipps
Um in einer Konfigurationsdatei oder mit der -c tessedit_char_whitelist=...
Befehlszeilenoption, in der neuesten Version 4.0 verwendet weiße Liste werden Sie OCR Engine-Modus in dem „Original Tesseract nur“ gesetzt haben. Dies liegt daran, das neue „Neuronale Netze LSTM“ -Modus nicht die weiße Liste Einstellung nicht respektiert.
Beispiel für die richtige Befehlszeile für Version 4.0:
Tesserakts input_file output_file --Soem 0 -c tessedit_char_whitelist = abc123
UPDATE: In neueren Versionen (4.0) gibt es beschädigte eng.traineddata
Datei standardmäßig von Windows-und einigen Linux-Installer installiert. Temporäre Lösung ist tessdata\eng.traineddata
Datei mit einem von älterer Version zu ersetzen. Diese Datei sollte etwa 30 MB sein. Sonst wirst du Fehler erhalten: „Tesseract keine Sprachen laden konnte!“ oder ähnliches.
Neben der Konfigurationsdatei ist die -c
Flagge:
tesseract stdin stdout -c tessedit_char_whitelist=abcdefghijklmnopqrstuvwxyz -psm 6
Hinzufügen Genau dies für jedermann mit tesseract auf Android. In Ihrer readOCR Funktion, wo Sie die Sprache usw. fügen Sie die folgende Zeile gesetzt;
tesseract.setVariable("tessedit_char_whitelist","ABCDEFGHIJKLMNOPQRSTUVWXYZ");
Sie können auch schwarze Liste tun für Zeichen auszuschließen.
In Tesseract Version 4.00, dies kann nicht getan werden. Sie können nur Ihr Modell oder Verwendung Regex Feinabstimmung von der Vorhersage zusätzliche Zeichen zu entfernen.