2017-04-06 5 views
0

Wir haben eine C# .Net App, die Tesseract verwendet, um optische Zeichenerkennung (OCR) auf .tiff-Dateien durchzuführen. Hier ein Beispiel: Example tiff fiel that Tesseract readsTesseract OCR Horizontal gelesen statt vertikal C#

Wir geben dann die Daten in eine Textdatei aus. Tesseract liest die Daten jedoch vertikal. In meinem Beispiel Bild wird das Lesen der tiff als zwei Spalten von Daten, und die Daten werden die Daten von Tesseract wie folgt ausgegeben werden:

TYP: DATUM: Adresse: Stadt: Zustand: Besitzer: Eigentümer Typ: Acreage: Hypothek: 2017-04-06 100 Haupt St. Einige Stadt Einige staatliche John Doe Primary 10,25 Ja

Was wir wollen, ist Tesseract die TIFF-Datei horizontal zu lesen und die Ausgabe aussehen wie dieses:

TYPE: 12345 DATUM: 2017.04.06 Adresse: 100 Haupt St. Stadt: Einige Stadt Zustand: Einige staatliche Besitzer: John Doe Eigentümer Typ: Primäre Acreage: 10,25 Hypothek: Ja

Wir haben die verschiedenen Seite Sementation Optionen für Tesseract versucht, aber sie alle das gleiche Ergebnis.

Hat jemand in das gleiche Problem gerannt? Hat jemand Ideen?

Antwort

0

Ich fand eine Lösung. Tesseract hat eine Reihe von Konfigurationsdateien. In einigen dieser Konfigurationsdateien befindet sich die Einstellung tstedit_pageseg_mode. Diese Einstellung wurde in allen Konfigurationsdateien auf 1 gesetzt. 1=Automatic page segmentation with OSD.

Unter dem Strich überschreiben diese Konfigurationsdateieinstellungen unser Befehlszeilenargument. Nachdem ich die tessedit_pageseg_mode Parameter aus den Konfigurationsdateien entfernt, unser Befehlszeilenargument von

-psm 6 gearbeitet und die Ausgangsdaten in dem gewünschten Format erzeugt.

psm=Page Segmentation Mode. 6=Assume a single uniform block of text

-psm 4 arbeitete auch

psm=Page Segmentation Mode. 4=Assume a single column of text of variable sizes