Text von TIF mittels Pytesseract nicht erkannt

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
oceanblue87
User
Beiträge: 4
Registriert: Mittwoch 11. Dezember 2019, 18:20

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
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

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.
oceanblue87
User
Beiträge: 4
Registriert: Mittwoch 11. Dezember 2019, 18:20

Ich habe bereits ausprobiert, das TIF in ein JPEG-Bild umzuwandeln. Hat auch nicht funktioniert.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Kannst du zwei unterschiedliche Bilder mit bevorzugt gleichem Inhalt hochladen? Dann kann man das mal vergleichen.
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@oceanblue87: JPEG ist keine gute Wahl um Bilder mit Text zu speichern. Das ist verlustbehaftet.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
oceanblue87
User
Beiträge: 4
Registriert: Mittwoch 11. Dezember 2019, 18:20

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
Antworten