Einleitung
Tesseract ist eine kostenfreie OCR Software, mit der sich auf eingescannten oder abfotografierten Dokumenten der Text automatisch erkennen lässt. Es verwendet dazu verschiedene Bildverbesserungsalgorithmen sowie Wörterbücher. Die Ergebnisse sind je nach Qualität des gescannten Dokuments durchaus brauchbar. Jedoch liegt die Erkennungsrate gerade bei nicht englischen Dokumenten meist deutlich unter 100%.
Voraussetzungen und erforderliche Kenntnisse
- Man sollte das Terminal verwenden können
- Der Paketmanager brew sollte installiert sein
Installation (neuste Version)
Um die aktuellste Version von Tesserakt zu installieren, lädt man zunächst die entsprechende Archiv-Datei mit dem Quellcode herunter. Diese muss dann anschließend entpackt, kompiliert und installiert werden. Dazu muss das Terminal (Programme, Dienstprogramme, Terminal) gestartet und folgende Befehle eingegeben werden:
# tesseract 3.04 herunterladen
wget https://github.com/tesseract-ocr/tesseract/archive/3.04.00.tar.gz
# Archiv extrahieren
tar xzf 3.04.00.tar.gz
# In das Verzeichnis wechseln
cd tesseract-*
# Quellcode vorbereiten
sh autogen.sh
# Compiler konfigurieren
./configure
# Kompilieren
make
# Installieren (sudo benötigt)
sudo make install
Tesseract installieren (brew)
Falls die Installation über den Quellcode mit einer mehr oder weniger kryptischen Fehlermeldung fehlschlägt (was je nach OSX-Version) durchaus passieren kann, gibt es noch die Möglichkeit, tesseract über den Paketmanager brew zu installieren. Auch dazu wird ein Terminal benötigt.
# überprüfen, ob brew installiert ist
brew
# Paketquellen aktualisieren
brew update
# tesseract installieren
brew install tesseract
Texterkennung ausprobieren
Um die Texterkennung auszuprobieren, benötigt man noch entsprechende Trainingsdaten.
Zu beachten ist, dass die Trainingsdaten für die englische Sprache am umfangreichsten sind und damit auch deutsche Texte am besten erkannt werden. Mit folgenden Befehlen kann tesseract ausprobiert werden.
# Verzeichnis erstellen
sudo mkdir -p /usr/local/share/tessdata
# englische Trainingsdaten herunterladen
sudo wget https://github.com/tesseract-ocr/tessdata/blob/master/eng.traineddata?raw=true -O /usr/local/share/tessdata/eng.traineddata
# es wird eine datei "textdatei.txt" mit dem erkannten Text erstellt
tesseract mytextimage.jpg textdatei
Ergebnisoptimierung
Verwendet man ein vollkommen unbearbeitetes Bild, sind die Ergebnisse meistens unzureichend. Um die Ergebnisse zu verbessern, kann man folgende Dinge ausprobieren:
- Kontrast stark erhöhen, am besten das Bild in ein monochromes Schwarz-Weiß-Bild (zwei Farben mit Schwellenwert) konvertieren
- Ausschnitt der Region, in der der Text erkannt werden soll
- Unscharf maskieren