Seite 1 von 1

Text von TIF mittels Pytesseract nicht erkannt

Verfasst: Mittwoch 11. Dezember 2019, 18:49
von oceanblue87
Hallo Zusammen,

ich möchte die Verarbeitung von Faxen automatisieren (leider bin ich noch auf diese Technik angewiesen). Dafür setzte ich einen zum Fax umgebauten Raspberry Pi 3 ein.
Um die Faxe zu verarbeiten benutze ich Pytesseract.
Wenn ich ein Fax ausdrucke und als TIF einscanne funktioniert das ganze problemlos mit image_to_string.
Sobald ich aber ein Fax (ebenfalls TIF), das der Rasperry direkt empfangen hat, mittels image_to_string einlesen möchte, wird kein Text erkannt.
Ich habe auch schon probiert die TIF-Datei in ein JPEG umzuwandeln. Auch kein Ergebnis.
Einziger Unterschied der mir spontan auffällt ist die Dateigröße und somit die Auflösung.
Hat jemand von euch hier Erfahrung mit Pytesseract und kann mir weiter helfen, wo das Problem liegen könnte?

Vielen Dank vorab.

Grüße
Oceanblue87

Re: Text von TIF mittels Pytesseract nicht erkannt

Verfasst: Mittwoch 11. Dezember 2019, 19:16
von Sirius3
TIF ist ein Sammelformat für verschiedenste Formate. Es kann sein, dass Tasseract nicht mit dem Format richtig umgehen kann. Versuche das Bild zu konvertieren.

Re: Text von TIF mittels Pytesseract nicht erkannt

Verfasst: Mittwoch 11. Dezember 2019, 20:35
von oceanblue87
Ich habe bereits ausprobiert, das TIF in ein JPEG-Bild umzuwandeln. Hat auch nicht funktioniert.

Re: Text von TIF mittels Pytesseract nicht erkannt

Verfasst: Mittwoch 11. Dezember 2019, 21:03
von __deets__
Kannst du zwei unterschiedliche Bilder mit bevorzugt gleichem Inhalt hochladen? Dann kann man das mal vergleichen.

Re: Text von TIF mittels Pytesseract nicht erkannt

Verfasst: Mittwoch 11. Dezember 2019, 22:11
von __blackjack__
@oceanblue87: JPEG ist keine gute Wahl um Bilder mit Text zu speichern. Das ist verlustbehaftet.

Re: Text von TIF mittels Pytesseract nicht erkannt

Verfasst: Donnerstag 12. Dezember 2019, 12:09
von oceanblue87
Hallo Zusammen,

vielen Dank für eure Tips und Hinweise. Das Problem, dass nichts erkannt wird, habe ich durch eine Konvertierung im Griff. Es wird Text erkannt.
Allerdings ist das Resultat eher bescheiden.Daraufhin habe ich mittels jTessBoxEditor eine Trainingsdatei erzeugt. Wenn ich diese VietOCR unter Windows teste ist das Ergebnis sehr gut. PSM und OEM configuration sind auf default.
Folgendermaßen binde ich die Datei deu_training.traineddata in Python ein:

Code: Alles auswählen

pytesseract.image_to_string(img, lang='deu_training')
Mit der gleichen Datei lässt sich das Ergebnis unter Linux mit Python nicht reproduzieren. Kann mir hier jemand weiterhelfen.
Vielen Dank schon mal.

Viele Grüße
Oceanblue87