Donnerstag, 28. Juli 2016

Which OCR tool works well on openSUSE Leap 42.1? - Here is a brief overview.

OCR  (optical character recognition) ist eine automatisierte Texterkennung. Texte in gescannten Bildern können erfasst werden und anschließend in eine Textdatei umgewandelt werden, wodurch diese bearbeitbar sind. Dies braucht man selten, aber doch.
Welches dieser Programme unter Linux, speziell bei openSUSE, effizient arbeitet, zeigt der folgende kurze Überblick:

Ausgangspunkt ist eine Textdatei in deutscher Sprache aus Wikipedia, die auf meinem HP Deskjet 2050-J510 series mit 300 dpi (grayscale) ausgedruckt wurde und anschließend mit 300 dpi (Graustufen) wieder mit dem HP Deskjet eingescannt wurde. Es wurden bewusst unterschiedliche Schriftgrößen verwendet und auch das eine oder andere Wort in englischer Sprache. Der Treiber des HP "All-in-one" kommt von hplip.


Testtext:



XSane:

Um einen Scanner unter Linux zu betreiben führt der Weg an XSane kaum vorbei. Auch dieses Tool kann mit Texterkennung umgehen. XSane benötigt dazu aber die Pakete "gocr" und "gocr-gui" aus den Standard-Repos.



"Text" wählen und die anschließend gescannte Datei als.txt Datei speichern. Das Ergebnis ist jedoch mehr als fraglich. Kaum ein Wort wurde richtig erkannt.





gimageReader

gimageReader ist eine grafische Oberfläche (GUI) von tesseract . Es ist in den Standard-Repos nicht enthalten, und muss über die Paketsuche eingebunden werden (als instabiles Paket). Es ist jedoch voll funktionstüchtig. Natürlich muss dazu auch tesseract installiert sein.




Auch hier wird der Text mit 300 dpi gescannt. Anschließend mit "Text erkennen" überprüft.


Ich habe das Ergebnis in ein LibreOffice Writer Dokument kopiert, verbessert und anschließend als .pdf gespeichert. Das Ergebnis ist hier bereits viel besser. Die rotmarkierten Stellen sind Fehler der Texterkennung. Typische Fehler sind Namen, Satzzeichen,...





Tesseract

Tesseract ist ein Tool rein für die Kommandozeile. Es liegt in den Standard-Repos vor und funktioniert einwandfrei. Das Ergebnis ist ident mit dem von gimageReader (natürlich, denn gimageReader arbeit ja mit tesseract).
Nun ist aber die Hürde mit der Konsole zu arbeiten für manche zu groß. Noch dazu ist im Jahre 2016 eine GUI für ein Programm kein Luxus mehr.



Online Dienst: Free Online OCR

Ein Beispiel für einen Web Dienst zu diesem Thema ist Free Online OCR . Hier habe ich den Testtext gesannt und in eine .pdf Datei umgewandelt. Diese wird hochgeladen und nach nicht mal einer Minute hat man die fertige Textdatei. Wahlweise .txt oder .docx. Ich habe wieder das Ergebnis (.txt) in ein LibreOffice Writer Dokument kopiert, verbessert und als .pdf gespeichert. Das Ergebnis ist das Beste meiner kleinen Testreihe. Die Fehler sind wieder rot gekennzeichnet.



Proprietäre und Open Source Software:

Natürlich gibt es noch einige proprietäre Software-Tools, auf diese möchte ich aber nicht weiter eingehen. Mein Interesse liegt doch eher bei Open Source.

Bei den Open Source Tools sollte Transkribus nicht unerwähnt bleiben. Dieses Tool befasst sich vor allem mit handgeschriebenen Texten (dazu fällt mich gleich die automatisierte Briefsortierung bei der Post ein). Dieses habe ich jedoch nicht getestet. 


Fazit:

Trotz einiger Möglichkeiten, installierbare Open Source OCR Tools zu nutzen, fällt mein Ergebnis doch eindeutig aus. Der Onlinedienst "Free Online OCR" hat die beste Erkennung und somit das beste Ergebnis.

Roman.