Fraktur-OCR mit Tesseract

Die folgende Anleitung für Fraktur-OCR mit Tesseract unter Windows beruht auf einem Text von Jowinix in Wikisource. Ich habe den Text leicht überarbeitet und werde den Text noch mit ein paar Screenshots versehen. Wenn jemand bereits die kommerzielle OCR-Software Finereader auf der Platte hat, den möchte ich auf meinen älteren Artikel zur Fraktur-OCR mit Finereader verweisen.

Tesseract 3 ist eine Texterkennungssoftware, die aktuell von Google  weiterentwickelt wird und unter einer Open-Source-Lizenz steht und dementsprechend kostenlos verwendet werden kann. Tesseract wird auch für die Texterkennung bei Google Books verwendet und verarbeitet die folgenden Bildformate: tif, multipage tif, jpg, gif und png. Tesseract ermöglicht Texterkennung für mehr als 30 Sprachen, darunter auch Fraktur (Deutsch, Dänisch und Schwedisch). Das Programm liefert auch bei mehdrspaltigem Layout gute Ergebnisse. Allerdings ist keine grafische Benutzeroberfläche dabei (es gibt aber GUIs von Dritten) und das Layout der Seite geht komplett verloren, wobei letzteres für Wikisource kein Problem darstellt. Für die Durchführung der OCR muss man also ein klein wenig auf der Windows-Kommandozeile rumklimpern.

Windows Vista und Windows 7

Für die beiden neueren Betriebssysteme von Microsoft sind ein paar Dinge zu beachten, die ich an den entsprechenden Stellen entsprechend mit WINDOWS VISTA/7 markiert habe. Für Nutzer dieser Betriebssystem also diese entsprechenden Anmerkungen und Anweisungen unbedingt beachten.

Installation

Aus der Liste auf code.google.com lade man sich die folgenden ZIP-Dateien herunter: tesseract-ocr-setup-3.00.exe bzw. die jeweils aktuelle Version (das eigentliche Texterkennungsprogramm) und deu-frak.traineddata.gz (Sprachdatei Deutsch-Fraktur). Die Datei mit den Sprachdaten entpacken. Wenn man keinen passenden Entpacker für gz-Dateien an Bord hat, kann man sich in wenigen Minuten den kostenlosen und leistungsfähigen Entpacker 7-Zip installieren. Bei Bedarf können auch weitere Sprachdateien heruntergeladen werden und entpackt werden, die gängigsten Sprachen kann man sich aber auch später bei der  Installation hinzufügen.

Das heruntergeladene Installationsprogramm tesseract-ocr-setup-3.00.exe ausführen und Tesseract installieren. Bei der Installation kann man bzw. sollte man die deutschen Sprachdateien mitinstallieren, die sind aber erstmal nur für Antiqua-Schrift. Aber Texte die in Antiqua gesetzt wurden, will man ja auch durch die OCR jagen.

Den Ordner öffnen in dem Tesseract installiert wurde, das sollte normalerweise C:\Program Files\Tesseract-OCR sein, und in den Unterordner tessdata die entpackte Datei deu-frak.traineddata kopieren oder verschieben. WINDOWS VISTA/7: An dieser Stelle möchte Windows Adminstratorrechte haben, um die Kopieraktion durchführen zu können. Das muss bestätigt werden.

Jetzt ist Tesseract für Fraktur-OCR vorberereitet.

OCR durchführen

Die Scans (Bilddateien) die mit Tesseract verarbeitet werden sollen, können am einfachsten in den Ordner kopiert werden, in den Tesseract installiert wurde. WINDOWS VISTA/7: Auch hier fragt Windows wieder nach Administratorrechten, dies ebenfalls bestätigen.

Wem die Kopiererei in den Tesseract-Ordner und unter Win7 die Nachfragerei zu lästig ist, der kann sie auch in einem anderen Ordner belassen (bspw. c:\Bilder). In diesem Falle muss der Aufruf von Tesseract etwas angepasst werden.

Am besten eignen sich Scans mit 300 dpi und Graustufen.

Für die eigentliche OCR muss man die Windows-Kommandozeile aufrufen. Das geht mit: Windows-Taste+r, in die erscheinende Eingabezeile „cmd“ (ohne die Anführungszeichen) eingeben und Enter drücken. WINDOWS-VISTA/7:  Zum Start der Kommandozeile muss unbedingt Ctrl-Shift-Enter gedrückt werden, damit diese mit Adminstratorrechten ausgeführt wird. Alternativ kann die Kommandozeile wie in diesem Blogbeitrag angegeben aufgerufen werden, damit diese mit Adminstratorrechten ausgeführt wird.

In dem erscheinenden schwarzen Fenster mit blinkendem Cursor muss man nun zum Tesseract-OCR Verzeichnis wechseln. Das geht folgendermaßen (vorausgesetzt Tesseract ist im oben angegebenen Verzeichniss installiert). Nach jeder Zeile Enter drücken:

cd C:\
cd Programme
cd Tesseract-OCR

Nun geht es aber zur eigentlichen OCR. Damit Tesseract die OCR mit Fraktur durchführt, muss für Bild-Dateien im tif-Format folgende Zeile eingeben werden und Enter gedrückt werden:

for %i in (*.tif) do tesseract.exe %i %i -l deu-frak

Bei Dateien im jpg-, gif- oder png-Format muss der Befehl entsprechend geändert. Bei anderen Sprachen ist deu-frak durch das entsprechende Kürzel zu ersetzen: Deutsch=deu, English=eng usw. Wenn man die Dateien nicht in den Tesseract-Ordner kopiert hat, dann sieht der Aufruf entsprechend des obigen Beispielsordners in dem sich die Dateien befinden folgendermassen aus:

for %i in (c:\Bilder\*.tif) do tesseract.exe %i %i -l deu-frak

Das folgende Beispiel führt entsprechend eine OCR für Bilddateien im png-Format mit deutschem Antiqua-Text durch:

for %i in (*.png) do tesseract.exe %i %i -l deu

Das Programm arbeitet nun alle Scans im Stapel ab und erzeugt für jede Bilddatei eine Textdatei.

Die einzelnen Textdateien können mit:

copy /b *.txt Gesamttext.txt

zu einer großen Text-Datei zusammengefügt werden.

Weitere Informationen in englisch finden sich bei code.google.com.

5 Gedanken zu „Fraktur-OCR mit Tesseract“

  1. Es geht übrigens auch ohne die Bilder ins Tesseract-Verzeichnis zu kopieren, wenn man den Aufruf dort startet, wo die Bilder sind (jedenfalls unter Windows 7).

    1. Danke für den Hinweis. Ich hab das in etwas angepasster Form eingebarbeitet. Alternativ kann man nämlich auch einfach den Pfad zum Ordner angeben, in dem die Dateien liegen.

  2. Hallo,
    vielen Dank für die Tipps.
    Ich war selbst überrascht, wie gut es geklappt hat – relativ für ein Open Source Projekt natürlich.
    Denn die Profidienste/Software für Fraktur-OCR sind mit dann auch ein wenig zu teuer.
    Jürgen

  3. Hallo,

    habe Tesseract auf Windows XP installiert und es funktioniert besser als erwartet. Mit Windows 7 hingegen klappt die Installation nicht. Woran könnte das außer an den beschriebenen Besonderheiten liegen? Bedanke mich im Voraus für Hinweise!

  4. Hallo,
    ich habe ein bißchen unter XP getestet:

    1. Free-OCR 4.2 + Tesseract 3.01
    … tat’s bei mir nur für englisch – keine Frakturerkennung; andere Module wurden nicht erkannt und brachten Windows-Fehlermeldungen.
    Fehlerursache nicht ermittelt.

    2. Gimagereader + Tesseract 3.01
    (http://sourceforge.net/projects/gimagereader)
    … funzt sehr ordentlich und übernimmt auch Teile der Formatierung durch ‚hOCR’.
    (http://adnanvatandas.wordpress.com/2010/10/28/update-tesseract-3/)

    Hier noch ein Link zum ‚Fraktur-OCR-Kern’:
    https://github.com/paalberti/tesseract-dan-fraktur

    Viel Erfolg!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *