Was ist pyTesseract?
pyTesseract ist eine native Python-Anbindung für die Tesseract 2.04, die wohl beste Open-Source OCR Engine. Im Gegensatz zu PyTesser, das nur ein Wrapper für das Tesseract-Kommandozeilenprogramm ist, verwendet pyTesseract direkt die C++-API (via SWIG) und lässt sich damit nahtlos integrieren.
Wie benutze ich pyTesseract?
Die Benutzung von pyTesseract ist denkbar einfach und wird an folgendem Codebeispiel deutlich:
import Image
from tesseract import tesseract
def ocr():
image = Image.open("test.jpg")
tesseract.init("deu", "/usr/share/tesseract-ocr/")
text = tesseract.recognize_image(image)
# tesseract.recognize_opencv_image(image) für OpenCV-Bilder
tesseract.end()
print text
- tesseract.init(sprache, tessdata-Elternordner) initialisiert Tesseract
- tesseract.recognize_image(im) bzw. tesseract.recognize_opencv_image(im) führt die Texterkennung auf einem PIL-Image bzw. OpenCV-Image im durch und gibt den erkannten Text als String zurück
- tesseract.end() muss zum Schluss noch aufgerufen werden, um allfälligen Speicher, den Tesseract alloziert hat, freizugeben. Es können mehrere recognize-Calls zwischen init() und end() erfolgen.
Download
Tesseract 2.04 + pyTesseract 0.1b (leicht modifiziertes Bundle)
Installation
- Archiv herunterladen, entpacken und in den Ordner wechseln
- “configure” und “make” ausführen (jetzt wäre der richtige Zeitpunkt für ein Gebet)
- “python setup.py install” (benötigt root-Rechte) für eine Installation bzw. “python setup.py build_ext” für einen Build der Library ausführen
- Programmieren!
Einschränkungen / TODO:
- Das Kompilieren ist nur unter Linux (Ubuntu 10.10 x64) getestet, für Windows muss wahrscheinlich das ein oder andere Makefile angepasst werden
- Support für Confidence Values in Tesseract wäre eine Option
Lizenz:
Tesseract steht unter der Apache-Lizenz, Version 2.0.
pyTesseract steht unter der Apache-Lizenz, Version 2.0.