Texterkennung mit Tesseract und Python
Die Python-Bibliothek pytesseract erkennt Text in Grafiken und liest ihn aus. Unser kleines Programmier-Projekt liest aus einer PDF-Datei einen Speiseplan.
- Otis Sotek
Mit Optical character recognition (OCR) können Programme Text aus Bildern lesen und dann als Zeichenkette weiterverarbeiten. Das ist nützlich, um etwa gescannte Briefe maschinell zu durchsuchen oder in Bildern Kennzeichen zu erkennen. Unter der Haube von modernen OCR-Engines steckt meist künstliche Intelligenz. Die hat an tausenden von Beispielen gelernt, wie Zeichen und Schriften aussehen und welchen Text sie darstellen.
In diesem Beispiel soll die OCR-Bibliothek tesseract von Google den Speiseplan der Heise-Kantine im PDF-Format in Python auslesen und das Angebot des Tages bereitstellen.
Es mag übertrieben klingen, Bilderkennung auf ein PDF anzuwenden, wenn es Programme wie pdftotext gibt, die eingebetteten Text aus einem PDF von vorne bis hinten ausgeben. Bei einer Tabelle, die aus Excel exportiert wurde, wie dem Speiseplan, klappt das aber nicht. Zudem liest pdftotext nur Dateien, in denen der Text auch als Text eingebettet ist. Liegt der Plan als Bild vor, wird OCR benötigt.