Scharf Beobachtet

Tech Know How

OCR Beispiel mit Python und Tesseract

2021-12-10 18:22:42

Python kann ja viel. Natürlich auch OCR, also „Optical Character Recognition“. Hierzu wird Tesseract zur Hilfe genommen, die freie Software zur Texterkennung.

Hier das Beispiel-Bild, wo wir Text auslesen wollen:

Das Beispiel Bild mit Text, Großbuchstaben, Sonderzeichen, Zeilenumbrüche

Jetzt noch die Installationsbefehle (für Mac und Linux, Windows User finden das sicherlich bei Google irgendwo…):

# pip3 install pytesseract
# on mac, admin Rechte benötigt
# brew install tesseract-lang

# on mac
# sudo apt update
# sudo apt install tesseract-ocr
# sudo apt install libtesseract-dev

Und nun das Python Script:

from PIL import Image
import pytesseract

image_with_text = "image_with_text_on.png"

# Sofern pytesseract nicht im PATH zu finden ist, hier den Pfad angeben, sonst kann das auskommentiert werden
# pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'

image = Image.open(image_with_text)

extracted_text = pytesseract.image_to_string(image, lang='deu')

print(extracted_text)

Ausgeführt sieht das dann in der Konsole so aus:

In meinem ersten Durchlauf, ohne den Parameter „lang=’deu'“, wurden deutsche Sonderzeichen nicht erkannt. Falls nur „einfach“ tesseract installiert wird, werden deutsche Sonderzeichen durch andere, ähnliche Character dargestellt.

Andere Sprachen kann man u. a. hier finden: https://github.com/tesseract-ocr/tessdata

Zurück