Die Erkennungsqualität ist aber .... bescheiden.
Eigentlich funktioniert Tesseract recht gut, man hat aber eine gewisse Lernkurve bis man weiß, was in welcher Situation zu tun ist. Das wichtigste bei Tesseract ist die richtige Sprache und das richtige Dictionary zu verwenden. Die Doku zu Tesseract findest Du in [1], dort findest Du auch Links auf [2-4] hinter denen sich die Language-Files verstecken. Die für die Version 4 funktionieren auch mit >= 5.
Die Sprache (sofern korrekt installiert) kanst Du im Constructor angeben. Überprüfen ob die Sprache korrekt geladen ist (was der Fall ist wenn Sie richtig installiert ist) kannst Du mit IsLanguageLoaded bevor du weitermachst.
In den meisten Fällen reicht das schon aus.
Zitat:
Die Scans sind aber schon in guter Auflösung.
Tesseract verarbeitet Scans mit 300 DPI oder besser, das gilt für eine Schriftgröße von minimal 10 pt. Sind die Schriften kleiner sollte die Scanauflösung höher sein. Die Bilder sollten möglichst gerade sein. Je nach Art der zu verarbeitenden Bilder kann es etwas bringen, Tesseract anstatt mit einem Farbbild mit einem Graustufenbild und/oder Schwarzweissbild zu füttern, aber nur dann wenn das Verfahren bei dem Material besser passt oder besser ist als die intern in Tesseract eingebaute Binarisierung. Bei den von dir genannten Dokumenten (Fahrzeugschein) habe ich gute Erfahrungen mit dem Verfahren von Wolf-Jolion gemacht. Die Orginalimplementierung ist unter [5] zu finden. Aber das ist prinzipiell vom Material abhängig. Für Dokumente ist Tesseract wirklich gut, wenn es aber beispielsweise um Fotos mit Schriften geht oder um sehr verzerrte Dokumente, dann würde ich meist davon abraten oder eine entsprechende Bildbearbeitung empfehlen.
Prinzipell kann es je nach verwendeten Bildmaterial auch noch was bringen ein Denoising durch zuführen, dunkle Bereich anzugleichen etc. Aber das wird dann schon recht aufwendig.
Zitat:
Was ich noch nicht hinbekommen habe ist den Fortschritt über OnReconizeProgressEvent.
Ich kenn die von dir verwendete Komponente nicht wirklich gut (Tesseract schon) , ich verwende meine eigene Anbindung (die ich aber nicht zur Verfügung stellen kann). Da musst Du dich schon selbst reinfuchsen. Die Doku zu Tesseract und die unzähligen Posts hierzu sind sicherlich hilfreich. Wenn Du ganz spezielle Probleme hast, kannst Du Tesseract auch selbst trainieren, du kannst White und Blacklists der zu erkennenden Wörter vorgeben und vieles mehr. Das kann man alles mit Config Files konfigurieren und dementsprechend auch mit der Komponenten die Du verwendest. Aber das findest Du in der Doku.
hth Ha-Jö
[1]
https://github.com/tesseract-ocr/tessdoc
[2]
https://github.com/tesseract-ocr/tessdata
[3]
https://github.com/tesseract-ocr/tessdata_best
[4]
https://github.com/tesseract-ocr/tessdata_fast
[5]
https://github.com/chriswolfvision/l...e_binarization