Schlagwort-Archive: ocr

OCR revisited

Zwar liefert Finereader die besseren Ergebnisse und obendrein noch ein Layout für die Scans, aber für eine lokale Suche nach einem PDF reicht auch ein bischen weniger, so dass man sich die Ausgaben bei ABBYY für jede einzelne Seite zumindest teilweise sparen kann.

Unter einem Debian 9:

sudo apt-get install poppler-utils ocrmypdf tesseract-ocr-deu

Details und weitere Konfigurationsmöglichkeiten, Batch-Skripte und mehr sind hier zu haben. Ich setze ocrmypdf bisher gezielt auf einzelne Verzeichnis an mit diesem Einzeiler:

for i in $( ls *.pdf ) ; do ocrmypdf --skip-text -l deu --deskew --clean --rotate-pages --clean-final $i - | pdftotext - $i.txt ; done

Das ergibt dann TXT Dateien mit zu über 95% richtig erkanntem Inhalt, wenn die Vorlage gut ist. Presst man PDF-Faxe und ähnlichen Mist durch die tool chain, dann kommt leider weitaus weniger Brauchbares hinten raus – aber zum Wiederfinden auf der lokalen Platte mit recoll reicht es.

OCR unter Linux revisited

gimagereader_tesseract

Tesseract befindet sich in einer aktuellen Version in den Repos von Fedora 18 (sowie Ubuntu) und gimagereader ist als RPM für Fedora 15 / als DEB für Ubuntu nach Installation einiger Voraussetzungen nicht nur installierbar, sondern arbeitet rund.

Die Voraussetzungen werden mit RPM bei einem

rpm -i gimagereader-0.9-1.fc15.noarch.rpm

angezeigt und sind zügig an Bord geholt:

yum install gnome-python2-gtkspell pypoppler python-imaging-sane

Wer unter Ubuntu mit gdebi, qapt oder über das Softwarecenter installiert, zieht die Abhängigkeiten automatisch mit.

Die Erkennungsleistung ist schon bei 300 DPI Scans hervorragend und kann durchaus mit kommerziellen Produktion mithalten – selbst bei kursivem Text oder leicht schrägen Vorlagen.

Was man von dieser Lösung nicht erwarten darf, sind Mehrfachtextboxen oder gar ordentliche Erkennungsleistungen bei Tabellen. Was auch nicht geht, ist der Export von Bildern oder des Layouts aus dem Scan in die Textdatei. Tesseract liefert plain text. Wer mehr will, kann z.B. das sehr gute Online-OCR von Finereader benutzen: http://finereader.abbyyonline.com/

Online OCR

Politiklehrer brauchen Zeitungsausschnitte wie ein Fisch das Wasser. Ideal ist es, wenn diese noch mit Zeilennummern versehen und um unnütze Details gekürzt werden können. Hierzu setze ich OCR Software ein – leider in einer virtuellen Maschine, weil Linux sich hier von seiner spröden Seite zeigt (siehe: OCR unter Linux).

Einen Scan des lesenswerten Artikels ‚Die Unsicherheitskrise‚ von Stefan Kornelius aus der SZ vom 7./8.02.2009 (p. 4) nahm ich zur Vorlage, um die Qualität verschiedener Online-OCR-Dienste zu testen (mit freundlicher Genehmigung der SZ). Dabei wurde darauf verzichtet, die Dienste mit mehrspaltigem Layout und eingebetteten Bildern zu foltern. Dafür war aber die Scanqualität an sich nicht gerade rosig.

tohoku

http://ocr1.sc.isc.tohoku.ac.jp/e1/

Ein Staat geht hr die Sicherheit sei-
ner Bürger drei Verpflichtungen ein: Er
schützt mit seinem Militär vor einem äu-
Qeren Feind, er sor& rr_t der Polúei für
SicherheitiInInneren, und erbetreibt ei-
ne uIwichtige Wirtschaftspolitik, die vor
ökonomischer Unsicherheit schützen
soll. Erstaunlich nw, dass der Zusam-
memang zwischen der ökonomischen
Knse und der physisclien Sicherheit, der
UnverseMheit der Bürger von Riga bis
Sh h . S_ p lobisSacramen

Ich behaupte, dass hier GOCR im Hintergrund läuft – zumindest erinnert mich die schlechte Erkennungsleistung stark an dieses Programm. Ich habe es zwar nicht ausprobiert, aber die Nachbearbeitung dürfte in diesem Fall fast so viel Zeit brauchen wie das Abtippen.

my.ocrnow

https://my.ocrnow.com

Ein Staat geht für die Sicherheit sei­ner Bürger drei Verpflichtungen ein: Er schützt mit seinem Militär vor einem äu­ßeren Feind, er sorgt mit der Polizei für Sicherheit im Inneren, und er betreibt ei­ne umsichtige Wirtschaftspolitik, die vor ökonomischer Unsicherheit schützen soll. Erstaunlich nur, dass der Zusam­menhang zwischen der ökonomischen Krise und der physischen Sicherheit, der Unversehrtheit der Bürger von Riga bis Shanghai, von Säo Paulo bis Sacramen-to

Keine schlechte Erkennungsleistung für einen kostenlosen Service, der lediglich eine Registrierung voraussetzt. Fortgeschrittene Funktionen sind kostenpflichtig und beinhalten das Zusenden des fertigen OCRs und die Einreichung per Mail.

iupr

http://demo.iupr.org/cgi-bin/main.cgi

Ein Staat geht fiir die Sicherheit sei

ner Burger drei Verpflichtungen ein: Er schiitzt mit seinem Militar vor einem auBeren Feind, er sorgt mit der Polizei fiir Sicherheit im Inneren, und er betreibt eine iunsichtige Wirtschaftspolitik, die vor okonomischer Unsicherheit schiitzen soll. Erstaunlich nur, dass der Zusammenhang zwischen der okonomischen Krise und der physischen Sicherheit, der Unversehrtheit der Burger von Riga bis Shanghai, von S50 Paulo bis Sacramen- ‚ ` ‚ “ i’Dl€1H‘Is€°

Schon besser als tohoku – aber auch nur, weil die Fehler auf den ersten Blick zu sehen sind. An den besser erkennbaren Bildstellen (also nicht am Falz in der Zeitung) ist die Erkennungsleistung ordentlich.

ocrterminal

http://www.ocrterminal.com

Ein Staat geht fur die Sicherheit seiner Burger drei Verpflichtungen ein: Er schutzt mit seinem Militar vor einem au-Beren Feind, er sorgt mit der Polizei fur Sicherheit im Inneren, und er betreibt eine umsichtige Wirtschaftspolitik, die vor okonomischer Unsicherheit schutzen soil. Erstaunlich nur, dass der Zusam-menhang zwischen der okonomischen Krise und der physischen Sicherheit, der Unversehrtheit der Burger von Riga bis Shanghai, von Sao Paulo bis Sacramento

Saubere Erkennungsleistung auf dem Niveau von my.ocrnow. Die Seite bietet ihre Dienste kostenlos an, erlaubt aber „nur“ 30 Seiten am Tag, was für den Alltag wohl völlig ausreichend sein dürfte.

Fazit

Die Ergebnisse waren recht eindeutig: my.ocrnow oder ocrterminal können weiter empfohlen werden. Standalone Anwendungen wie FineReader oder Omnipage schlagen diese Services aber um Längen in der Erkennungsleistung (bezogen auf den Gesamtartikel), sind schneller, arbeiten sich auch durch umfangreiche Dokumentenstapel und beschweren sich nicht, wenn sie mit mehrspaltigem Layout konfrontiert werden.

Für anspruchsvollere OCR-Jobs führt demnach kein Weg an Programmen wie FineReader und Omnipage vorbei, aber für den schnellen Scan zwischendurch und auch für kurze Artikel reicht inzwischen ein Online-OCR. Unter Linux sind diese bei unter einer Seite Textumfang wohl auch schneller zu nutzen als der Start der virtuellen Maschine an Zeit braucht.

OCR unter Linux

OCR ist unter Linux ein Problemkind. Es gibt zwar gocr, ocrad und hoffentlich bald auch ein einfach zu installierendes tesseract, das deswegen hier nicht mehr weiter behandelt wird, aber weder gocr noch ocrad liefern bei mir Erkennungsraten von mehr als 90% unter Idealbedingungen.

Damit dauert die Bearbeitung der Ergebnisse oft länger als das Abtippen – vor allem weil a und o, l und 1 sowie in bzw. rn und m Fehler auch beim Korrekturlesen nur schwer zu finden sind, wenn man den Text schon kennt.

Dabei würde mit kooka eine völlig ausreichende Oberfläche für OCR zur Verfügung stehen, die bis auf Mehrfachauswahlen schon fast alles mitbringt, was man im OCR Alltag als Pauker braucht.

sudo apt-get install kooka ocrad gocr

Unter Hardy und Gnome nistet sich kooka dann im Menü unter /Anwendungen /Grafik ein.

bildschirmfoto

Der Scan erfolgt aus der Oberfläche von kooka heraus.

bildschirmfoto-1

Bei der ersten Verwendung fragt kooka nach dem Standarddateiformat, in dem die Scans in einer Art „internen Speicher“ vorrätig gehalten werden sollen.

bildschirmfoto-2

Nach einer einfachen Auswahl des zu übersetzenden Bildbereichs mit der Maus kann das OCR durch Klick auf das entsprechende Icon auch einfach gestartet werden – hier mit ocrad.

bildschirmfoto-3

Nach kurzer Zeit wird ein Textfensterchen mit dem Plaintextergebnissen eingeblendet. Ein Klick in das Fenster gefolgt von [Strg] [A] und [Strg] [C] sowie ein folgender Klick in die Textverarbeitung und [Strg] [V] erledigt den Rest. Jetzt darf Korrektur gelesen werden – und das nicht zu knapp.

bildschirmfoto-4

Völlig unerträgliche Ergebnisse werden IMHO mit gocr erzeugt, das als Erkennungsengine ebenfalls eingestellt werden kann. Die Installation von ocrad lohnt also. Außerdem ist ocrad meist um Einiges schneller als gocr.

Was weder unter gocr noch ocrad funktioniert ist die Erkennung von Layouts. Selbst einfachste Tabellen, wie im Bild oben leidlich zu erkennen, bringen beide OCR völlig aus dem Tritt. Was relativ gut hinhaut ist, wenn man etwas Glück hat, die Erkennung von reinen Textblöcken bei serifenlosen Schriften mit mindestens 12 Pixel Schriftgröße.

Im Alltag setze ich an dieser Stelle auf eine VM unter Windows 98 SE oder auch Windows XP. Für beide Betriebssysteme habe ich schließlich Lizenzen irgendwann im Laufe meiner Computergeschichte erworben, warum sollte ich diese verkommen lassen?

In diese VM habe ich mir einen FineReader 6 installiert, den ich einst bei pearl für 5€ kaufte (oder war es bei zweitausendeins? Ich weiß es nicht mehr). Der Scan erfolgt unter Linux mit Sane, die Bilder werden in einem Tauschverzeichnis abgelegt auf das aus der VM heraus zugegriffen werden kann. Die Ergebnisse des FineReader – meist erstelle ich eine DOC und eine TXT Datei – landen dann ebenfalls wieder im Tauschverzeichnis. Die Weiterverarbeitung erfolgt dann in OpenOffice. Sobald das Endergebnis fertig ist, lösche ich die Inhalte im Tauschverzeichnis. Insgesamt recht umständlich – aber im Alltag viel viel schneller und weniger Nervenaufreibend als die Arbeit mit kooka und ocrad / gocr. Leider habe ich es bisher nicht hinbekommen den FineReader unter Wine zur Mitarbeit zu überreden – das wäre eindeutig die bessere Lösung. Andere waren da erfolgreicher: WineHQ

Bis tesseract soweit ist werde ich wohl bei diesem workaround bleiben müssen. Leider.