GOCR ist eigentlich ein Kommandozeilenprogramm, arbeitet aber problemlos mit grafischen Anwendungen wie XSane und Kooka zusammen. Und nicht nur das: Das OCR-Tool kann im Gegensatz zu vielen anderen Programmen mit Umlauten umgehen und ist darüber hinaus auch noch lernfähig.
OCR steht für Optical Character Recognition; das Ziel der optischen Zeichenerkennung ist es, eingescannte Texte in Textdateien umzuwandeln. OCR-Programme rastern die Schriftzeichen und vergleichen sie mit bekannten Mustern aus ihrer Datenbank. Wenn es ausreichend viele Übereinstimmungen gibt, gilt ein Zeichen als "erkannt".
Dieser Artikel zeigt, wie Sie GOCR auf der Kommandozeile trainieren und damit für die Arbeit in XSane und Kooka fit machen.
Das richtige Sportgerät
Als Erstes geht es daran, den Scanner einzurichten. Die SANE-Hardwaredatenbank [1] verrät, welche Geräte mit Linux zusammenarbeiten. Ist der Status hier "complete" oder mindestens "good", sollte es keine Probleme bei der Einrichtung geben. Ein älterer EasyLinux-Artikel [2] erklärt die Grundlagen.
Unter OpenSuse 11.0 und 11.1 starten Sie YaST, geben das Root-Passwort ein und klicken im Bereich Hardware auf Scanner. Der Paketmanager spielt selbstständig das Paket sane-backends ein und erstellt die Scannerdatenbank. Im Anschluss folgt eine automatische Hardwareerkennung, und ein Dialogfenster präsentiert die gefundenen Geräte (Abbildung 1). Weiterhin spielen Sie über YaSTs Softwaremodul die Pakete xsane, kdegraphics3-scan und gocr ein.
Anwender von Ubuntu 8.10 installieren über den Paketmanager sane, sane-utils, xsane und gocr. Leider steht für Intrepid Ibex das Programm Kooka nicht zur Verfügung: Die Anwendung hat den Sprung von KDE 3 auf 4 nicht vollzogen, und die Projekt-Homepage lässt die zukünftige Entwicklung ebenfalls offen [3]. Ein kdegraphics-Paket der 3er-Reihe (wie bei OpenSuse) gibt es für diese Distribution leider auch nicht als Ausweichmöglichkeit. Die Integration von GOCR in XSane funktioniert aber problemlos. Auch bei Ubuntu gibt es eine automatische Hardwareerkennung; ein Artikel aus dem Ubuntuusers-Wiki [4] verrät die Hintergründe.
Aufwärmen nicht vergessen!
Wie gut GOCR Text erkennt, hängt vor allem von der Scanvorlage ab: Das Dokument sollte nicht schief auf dem Scanner liegen und auch nicht voller Flecken und Knicke sein. Auch ein verstaubter Scanner kann durchaus für kreative Interpretationen des OCR-Programms sorgen. Tabellen und Grafiken bringen die meisten Tools ins Schleudern, und auch bei handgeschriebenen Texten sieht es nicht besser aus.
Die Schriftart entscheidet mit darüber, wie gut GOCR arbeitet: Bei Fonts mit Serifen, z. B. Times, Courier oder Palatino, gehen die einzelnen Zeichen manchmal nahtlos ineinander über. Deutlich zu sehen ist das bei zwei aufeinanderfolgenden Konsonanten wie "mm" oder auch "fl" (Abbildung 2). Solche fließenden Übergänge stellen OCR-Programme vor ein Problem, weil sie nicht erkennen können, ob es sich um ein oder zwei Zeichen handelt. Eine serifenlose Schrift, wie beispielsweise Arial, Helvetica oder Verdana, und eine Schriftgröße von mindestens 12 Punkt sorgen für bessere Ergebnisse bei der Texterkennung.
Für die Texterkennung justieren Sie die Auflösung des Scanners am besten auf 150 oder 300 dpi und wählen den Schwarz-Weiß- oder Graustufenmodus. Wie das in XSane und Kooka funktioniert, erklärt der Artikel unter [5]. Kontrollieren Sie anschließend in einem Bildbetrachter die gescannten Texte; mit einem Programm wie Gimp oder ImageMagick passen Sie im Zweifelsfall die Helligkeit und den Kontrast an (Abbildung 3). GOCR kann PNM-, PGM-, PPM- und PCX-Dateien verarbeiten; liegt ein gescannter Text in einem anderen Grafikformat vor, wandelt Gimp oder convert[6] die Dateien um.


