Donnerstag, 22. November 2012

Teil 4, Selbstversuch Ebook - Befreiung am Beispiel "Bunte Bilder aus dem Sachsenlande"

Warum Tesseract


Jetzt geht es ans Eingemachte. Da das gescannte Buch einen eigenen Font in Fraktur verwendet, ist es notwendig diesen Font zu trainieren um später möglichst wenig Nacharbeit zu haben.

Als OCR-Engine für die Texterkennung nutze ich Tesseract. Im Bereich freier Software sind noch cuneiform und ocropus halbwegs brauchbar. Ersteres kommt mit zuwenig Dokumentation und fällt daher fürs Trainieren der Fonts weg. Letzteres ist schwierig zu kompilieren und die Debian-Variante ist nocch wenig brauchbar.

Tesseract in Version 3 funktioniert ganz gut und ist für den gewünschten Zweck gut genug.

Hartes Training


Um Tesseract zu trainieren folge ich der Anleitung unter http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract3. Hier nochmal die einzelnen Schritte:

  • mkdir tess_train
  • cd tess_train/
  • convert ../ppm_single/img012.ppm deu-frak2.exp0.tif
  • TESSDATA_PREFIX=./ tesseract -psm 6 -l deu-frak deu-frak.frak2.exp0.tif deu-frak.frak2.exp0 batch.nochop makebox

convert ist Teil von ImageMagick und kopiert die Scanseite ins von tesseract erwartete TIFF-Format.  Anschliessend wird ein box-file erzeugt, welches die Koordinaten der erkannten Symbole enthält.

Mit Hilfe von dem unter http://sourceforge.net/projects/vietocr/files/jTessBoxEditor/ zu findenden jTessBoxEditor weise ich den grafischen Symbolen den korrekten Unicode zu. Korrekt heißt auch, Besonderheiten, wie das lange 'S' zu berücksichtigen.  Dies dauert eine Weile, hier ein Screenshot:

Anschliessend wird tesseract trainiert. Dazu später mehr.