ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Texterkennung

Texterkennung ist ein Gebiet, auf dem es unter Linux noch vergleichsweise wenige "eigene" Entwicklungen gibt. Synonym wird der Begriff "OCR" verwendet, "Optical Character Recognition", was streng genommen nur einen Teil, nämlich die Zeichenerkennung, beinhaltet. Die Erkennung wird besser, wenn neben den Zeichen auch Wörter abgeglichen werden, was aber mit einen wesentlich höheren Aufwand für die Programmentwicklung einhergeht (z.B. tesseract-ocr). Neben "klassischen" open-source-Projekten, die größtenteils von wenigen, teilweise nur einem einzigen, Hauptentwicklern erstellt wurden (gocr {en}, Ocrad {en} etc.) stehen Weiterentwicklungen von ehemals kommerziell gestarteten, und später z.T. in open-source-Lizenz überführten Projekte wie Cuneiform-Linux und tesseract-ocr oder OCRopus {en}, das u.a. auf tesseract-ocr basiert. Daneben existiert das zwar kommerziell entwickelte, aber ebenfalls unter freier Lizenz stehende Archivista {ch}, das eine Komplettlösung für das "papierlose" Büro bietet, und von der Entwicklerfirma auch als Komplettlösung mit entsprechender Hardware vertrieben wird.

Während für reine Zeichenerkennung schon recht gute Ergebnisse erzielt werden können, sind die Layout-Analyse und Schriftarten-/Größenerkennung unter Linux noch nicht allzu weit fortgeschritten. Der entwickungstechnische Aufwand ist insgesamt anscheinend recht hoch; bei rein kommerziellen Anwendungen spiegelt sich das in den verlangten Preisen für die Programme wieder. Projekte wie tesseract-ocr oder OCRopus werden von Google aus eigenen Interessen (z.B. Erstellung von "e-books") gefördert und teilfinanziert.

Vorbereitung

Um exakte Ergebnisse erzielen zu können, müssen die verwendeten Vorlagen in einem guten Zustand sein oder gebracht werden. Dazu können die mit Scannern bzw. Scanner/Software erstellten Bilddateien bereinigt, gerade ausgerichtet, im Kontrast verbessert etc. werden.

Scan Tailor

Scan_Tailor/scantailor-logo.png Scan Tailor {en} ist Programm, mit dem Scans bearbeitet werden können, um z.B. bessere Ergebnisse bei einer anschließenden Texterkennung zu erzielen, oder sie für die Archivierung zu optimieren. So können u.a. Seiten aufgeteilt, gerade gezogen und unerwünschte Ränder entfernt werden. Die Bearbeitung kann automatisiert erfolgen, es lassen sich aber auch umfangreiche manuelle Einstellungen für verschiedene Aufgaben vornehmen. Näheres unter Scan Tailor.

unpaper

unpaper {en} ist ein mächtiges Kommandozeilenprogramm zur Nachbearbeitung von fotokopierten/gescannten Bild- und Textvorlagen. Es wurde für die automatische Stapelverarbeitung von großen Datenmengen konzipiert (z.B. E-Books). Hauptziel der Entwicklung war es, für den Bildschirm besser lesbare PDF-Dokumente erstellen zu können, unpaper kann aber z.B. zur Vorbereitung von Texterkennung, Digitalisieren, Konservieren und Archivieren von gescannten Vorlagen verwendet werden. Näheres im Artikel unpaper.

convert

ImageMagick/logo.png convert ist Teil der Softwaresammlung ImageMagick, das zur Verbesserung von gescannten Dokumenten eingesetzt werden kann. Ein Anwendungsbeispiel wird im Wiki-Artikel unter Gescannte Dokumente nachbessern beschrieben.

ExactImage

ExactImage {en} ist eine Sammlung von Kommandozeilen-Werkzeugen zur Bearbeitung von Grafik-Dateien. Interessant ist dabei die Bearbeitungsgeschwindigkeit; einige Konvertieroptionen werden - verglichen mit ImageMagick - in bis zu 20facher Geschwindigkeit durchgeführt. Das Programm eignet sich somit auch für "schwachbrüstige" Rechner. Es werden etliche Werkzeuge bereitgestellt, die gerade für die Texterkennung benötigt werden, hier insbesondere das Programm optimize2bw. Nähere Einzelheiten unter ExactImage.

OCR-Programme für die Kommandozeile

Die eigentliche Erkennung erfolgt in der Regel mit Kommandozeilenwerkzeugen, die von sich aus meist nur sehr wenige Bildformate verarbeiten können. Dazu existieren oft sogenannte "frontends" mit grafischer Benutzeroberfläche, die meist auch in der Lage sind, die Daten in das vom eigentlichen OCR-Programm benötigte Format zu konvertieren. Z.T. sind auch Scan-Programme mit integriert, sodass die komplette Verarbeitung vom Erstellen der Vorlagen über die Bearbeitung bis zur Texterkennung und Ausgabe erfolgen kann.

Cuneiform-Linux

/Cuneiform-Linux/cuneiform.png Cuneiform-Linux {en} ist ein sehr ausgereiftes Kommandozeilenprogramm zur Texterkennung/OCR unter Ubuntu. Es lässt sich mittels eines Skriptes in XSane einbinden, und dient als Grundlage für YAGF. Cuneiform kann sehr viele Formate verarbeiten und die Ergebnisse in verschiedenen Formaten ausgeben. Eine ausführliche Beschreibung liefert der Artikel Cuneiform-Linux.

tesseract-ocr

tesseract-ocr {en} ist ein ehemals kommerziell von Hewlett-Packard entwickeltes Texterkennungsprogramm, das (von Google unterstützt) unter Open-Source-Lizenz weiterentwickelt wird. Es handelt sich um ein Kommandozeilenprogramm, das von Hause aus nur .tif-Dateien verarbeiten kann. Die Texterkennungsqualität ist mit der von Cuneiform-Linux vergleichbar; allerdings kann tesseract-ocr keine Spalten (erst ab 3.0.x möglich) oder Layout erkennen; es liefert reine Textdateien als Ausgabe. Auch für tesseract-ocr gibt es eine Einbindung für XSane, sowie "frontends", die die Bedienung vereinfachen. Mehr im Artikel tesseract-ocr. Außerdem kann tesseract-ocr für (fast) jede beliebige Sprache/Schrift "angelernt" werden (siehe tesseract-ocr trainieren).

Ocrad

Ocrad {en} ist ein Kommandozeilenwerkzeug zur Texterkennung, das seit 2004 von Antonio Diaz Diaz {en} entwickelt wird. Dabei handelt es sich um ein reines Zeichenerkennungsprogramm, das sprachenunabhängig arbeitet. Unterstützt werden nativ pnm-Dateien, also pbm (schwarz-weiß), pgm (Graustufen) oder ppm (Farbe). Es verfügt über eine Layout-Erkennung, um Spalten oder Textblöcke verarbeiten zu können. Viele OCR-Frontends können Ocrad einsetzen (z.B. XSane, ocrodjvu, OCRFeeder, xsane2djvu). Einzelheiten im Artikel Ocrad

GOCR

GOCR/gocr.jpg GOCR {en} ist ein Kommandozeilenwerkzeug zur Texterkennung, das seit 2000 von Joerg Schulenburg {de}/{en} entwickelt wird. Das Programm ist "trainierbar" und vielfältig zu konfigurieren; gute Ergebnisse werden vor allem für serifenlose Schriften erzielt. Dabei handelt es sich um ein reines Zeichenerkennungsprogramm, das sprachen-unabhängig arbeitet. Mit GOCR tcl existiert auch eine grafische Benutzeroberfläche, die allerdings nicht ganz auf dem aktuellen Stand ist. Standardmäßig verwendet XSane GOCR als Texterkennungsprogramm, mit OcrGui können einige der Optionen in einer grafischen Oberfläche verwendet werden. Viele OCR-Frontends können GOCR einsetzen (z.B. ocrodjvu, OCRFeeder, gscan2pdf). Weiteres unter GOCR.

ocrodjvu

ocrodjvu {en} ist eine Kommandozeilenwerkzeug zum Erstellen einer versteckten Textlage für DjVu-Daten, das auf DjVuLibre {en} fußt. Dazu können die Programme OCRopus {en} oder Cuneiform-Linux für die eigentliche Texterkennung genutzt werden ab Version 0.7.0 auch GOCR, tesseract-ocr und Ocrad. Der Wrapper, verfasst in Python, ist eine Neuentwicklung, er kommt u.a. in xsane2djvu zum Einsatz. Nähere Einzelheiten im Artikel ocrodjvu.

OCR-Programme mit grafischer Oberfläche

YAGF (Cuneiform/Tesseract)

/YAGF/yagf.png YAGF {en} ist ein grafisches Frontend zur Texterkennung/OCR für Cuneiform-Linux und/oder Tesseract, das es ermöglicht, Bilddateien und PDFs zu verarbeiten, oder Seiten direkt aus dem Programm heraus über XSane einzuscannen. Ausführliche Beschreibung: YAGF.

cuneiform-qt (Cuneiform)

cuneiform-qt/cuneiform-qt-logo.png cuneiform-qt {en} ist eine einfaches grafisches Frontend zu Texterkenneung für Cuneiform-Linux, mit dem existierende Bild-Dateien (Formate PNG, JPG, BMP und TIF) ausgelesen werden können, weitere Einzelheiten: cuneiform-qt.

vietOCR (Tesseract)

vietOCR {en} ist ein ursprünglich für vietnamesische Sprachunterstützung konzipiertes Java grafisches Frontend für tesseract-ocr, dessen grundlegenden Funktionen aber mit jeder installierten tesseract-ocr-Sprache verwendet werden können. Inzwischen ist auch die Verwendung eins SANE-fähigen Scanner möglich, Einzelheiten unter vietOCR.

gImageReader (Tesseract)

gImagereader/gImageReader.png gImageReader {en} ist ein einfach zu bedienendes grafisches Frontend für das OCR-Programm tesseract-ocr (Versionen 2.0x und 3.0x werden unterstützt). Es ist in Python verfasst und ermöglicht die Texterkennung aus vorliegenden Bilddateien (es sind alle gängigen Formate verwendbar, auch PDF-Dateien), sowie den direkten Import über einen SANE-fähigen Scanner. Nähere Details in gImageReader

OcrGui (Tesseract/GOCR)

OcrGui/ocrgui.png OcrGui {en} ist ein Programm, mit dem in einer grafischen Oberfläche aus Bildvorlagen eine Texterkennung erzeugt werden kann. Zum Einsatz kommen dazu tesseract-ocr oder GOCR; außerdem kann das Ergebnis mit Hunspell einer Rechtschreibprüfung unterzogen werden. Details im Artikel OcrGui.

OCRFeeder (Ocrad/GOCR/Tesseract/Cuneiform)

OCRFeeder/ocrfeeder.png OCRFeeder {en} ist ein Programm mit einer grafischen Oberfläche zur Texterkennung und Layout-Analyse, mit der als Bilddatei vorliegende Text-Dokumente weiterverarbeitet, und auch mit Bildern versehen und angepasstem Layout/Schriftbild abgespeichert werden können. Die Vorlagen können mit unpaper {en} vorbereitet werden, als OCR-Engines können verschieden Programme zum Einsatz kommen (bereits vorgesehen sind Ocrad, GOCR, tesseract-ocr, inzwischen auch Cuneiform-Linux). Die Ausgabe kann im .odt-Format (OpenOffice.org/LibreOffice), oder als HTML-Dokument erfolgen. Details im Artikel OCRFeeder.

CellWriter

CellWriter/cw-icon-64.png CellWriter {en} ist ein Programm, welches handschriftliche Eingaben in einem in Zellen aufgeteilten Eingabebereich in Buchstaben und Zeichenketten umwandelt. Beim Schreiben mit einem Grafiktablett oder anderen Eingabegeräten wird der geschriebene Text Buchstabe für Buchstabe aufgenommen. Der so eingegebene Text kann dann bestätigt und an das gerade aktive Eingabefeld einer Anwendung gesendet werden, als hätte man den Text mit der Tastatur geschrieben. CellWriter nimmt bei den OCR-Programmen eine Sonderstellung ein, da kein "Bilder" sondern direkte Eingaben ausgelesen werden. Details im Artikel CellWriter.

Dokumenterstellung

Um aus den "erkannten" Vorlagen dann Dokumente zu erstellen, gibt es weitere Programme, mit denen die Texterkennung mit dem Bild zusammenbringen können. Mit xsane2djvu ist das in einem Aufwasch für DjVu-Dateien möglich, das schon genannte OCRFeeder ermöglichte eine Ausgabe im .odt-Format (OpenOffice.org/LibreOffice). Auch gscan2pdf ermöglicht eine Dokumenterstellung, in begrenzten Rahmen auch mit Texterkennung.

XSane

XSane/xsane-logo.png Auch das Scanprogramm XSane kann zur Texterkennung verwendet werden. Standardmäßig ist GOCR als OCR-Engine vorgesehen, aber es existieren die Skripte xsane2tess (zur Verwendung von tesseract-ocr) und xsane2cunei (desgleichen mit Cuneiform-Linux). Vorteil hier ist, dass die Vorarbeiten/Einstellungen für die Vorlagen direkt in XSane vorgenommen werden können. Weiterhin lassen sich nach dem selben Muster mit xsane2djvu vollwertige DjVu-Dokumente mit Texterkennung erstellen, mit xsane2speech können Bildvorlagen direkt in Text umgewandelt und akustisch ausgegeben und als .mp3-Datei gespeichert werden. Außerdem besteht mit xsane2sandwich die Möglichkeit, (auch mehrseitige) PDF-Dateien mit integrierter Textlage zu erstellen und bestehende zu erweitern.

gscan2pdf

gscan2pdf/gscan2pdf_logo.png gscan2pdf {en} ist ein Programm, das die Erstellung von Dokumenten aus gescannten Vorlagen erleichtern soll. Ähnlich wie bei einem Kopierer kann man Seite für Seite einscannen und dann als PDF, DjVu- oder TIFF abspeichern. Es können gleich unpaper, sowie eine Texterkennung (GOCR, tesseract-ocr, inzwischen auch ocropus, cuneiform) verwendet werden. Eine genauere Beschreibung liefert gscan2pdf.

pct-scanner-script

pct-scanner-script ist ein reines Kommandozeilenwerkzeug, um zu Archivierungszwecken PDF oder DjVu-Dateien zu erstellen. Das Programm ist recht vielseitig konfigurierbar, ebenso ist eine Erstellung einer Textebene für DjVu-Dokumente möglich. Es verwendet scanadf aus dem sane-Paket, sowie einige PDF-und DjVu-Werkzeuge.

pdfsandwich

pdfsandwich/sandwich.png
Quelle

pdfsandwich {en} ist ein Kommandozeilenwerkzeug zum Erstellen von durchsuchbaren PDF-Dateien. Dafür wird die gescannte PDF-Vorlage mit convert aus ImageMagick in eine oder mehrere .bmp3-Dateien überführt und aus diesen mit Cuneiform-Linux jeweils eine Texterkennung im hOCR-Format erstellt. Die OCR-Dateien und die PDF-Vorlagen werden mittels hocr2pdf als "unsichtbare" Schicht zusammengeführt, und schließlich mit ghostscript zu einer zusammenhängenden PDF-Datei weiterverarbeitet. Einzelheiten im Artikel pdfsandwich.

pdfocr

pdfocr {en} ist ein Programm, das es ermöglicht, aus gescannten PDF-Vorlagen durchsuchbare Dokumente zu machen. Das in Ruby verfasste Skript greift dabei zur Texterkennung auf das OCR-Programm Cuneiform-Linux zurück, und verwendet zur Zusammenführung des Originals mit der Texterkennung hocr2pdf aus ExactImage. Weitere Einzelheiten unter pdfocr.

hOCR2pdf

Mit hOCR2pdf, einem von ExactCODE {en} entwickelten Werkzeug, Teil von ExactImage, lassen sich aus gescannten Vorlagen "durchsuchbare" PDF-Dateien erstellen, in dem die Texterkennung und das Bild "übereinander" gelegt werden. Bei exakter Passung wird das in der Texterkennungsebene gefundene Wort in der Bildebene angezeigt. Voraussetzung ist allerdings eine relativ stimmige Layouterkennung bzw. einfach nachzubildendes Layout der Bildvorlage. Cuneiform-Linux kann entsprechende hOCR-Dateien erstellen. Eine Anleitung findet sich in einem Blog-Beitrag auf auxnet.de {de}.

Weitere Projekte

Open Source

  • OCRopus {en} ist ein noch in der Entwicklung (derzeit Version 0.6) befindliches groß angelegtes Projekt, das wie tesseract-ocr von Google gefördert wird. Es basiert z.T. auf tesseract-ocr und soll eine vollständige Open-Source-basierte Anwendung zur Texterkennung und -verarbeitung mit u.a. Layouterkennung und Handschriften-Analyse werden.

  • Archivista {ch} ist eine ausgereifte, kommerziell entwickelte, aber unter Open-Source-Lizenz stehende Komplettlösung zum "papierlosen" Büro. Es verwendet sowohl Tesseract als auch cuneiform zur Texterkennung.

Kommerzielle Programme für Linux

ubuntuusers.local › WikiTexterkennung