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.

2 Gedanken zu „OCR unter Linux

Kommentare sind geschlossen.