Zum Hauptinhalt springen

Tesseract OCR — Open-Source-Engine zur optischen Zeichenerkennung

Tesseract OCR ist eine auf Deep Learning basierende Engine zur Textextraktion aus Bildern und PDF-Dokumenten. Nutzen Sie diese Dokumentation, um die Installation unter Windows, Linux und macOS zu meistern, KI-Modi zu konfigurieren und OCR nahtlos in Ihre Software-Pipelines zu integrieren.

Hinweis: Der Kern von Tesseract ist ein Kommandozeilenprogramm und eine C++-API-Bibliothek.
Sofortige Browser-Demo: Möchten Sie keine lokalen Binärdateien installieren? Testen Sie die Bilderkennung zu 100 % privat mit unserem Online Web OCR Tool.

Was ist Tesseract?

Tesseract ist eine Engine, die Bildpixel in strukturierte, durchsuchbare Textdaten umwandelt. Ursprünglich 1985 bei Hewlett-Packard entwickelt, wird es heute von der weltweiten Open-Source-Community gepflegt und unterstützt über 100 Sprachen nativ durch neuronale LSTM-Netzwerke (Long Short-Term Memory).


Installation

Da Tesseract eine optimierte C++ Bibliothek ist, empfiehlt sich die Installation über den Paketmanager Ihres Betriebssystems.

macOS

Homebrew ist die offiziell empfohlene Methode für macOS (Apple Silicon und Intel Chips).

Terminal
brew install tesseract
brew install tesseract-lang

Ubuntu / Debian

Die Standard-Paketquellen von apt enthalten stabile Versionen von Tesseract.

Terminal
sudo apt install tesseract-ocr
sudo apt install tesseract-ocr-deu tesseract-ocr-all

Windows

Vorkompilierte Windows-Installer werden durch das UB Mannheim Projekt bereitgestellt. Paketmanager wie scoop oder winget unterstützen Tesseract ebenfalls nativ.

PowerShell
scoop install tesseract
scoop install tesseract-languages

Schnellstart & Grundlegende CLI-Befehle

Tesseract ist primär ein Kommandozeilenwerkzeug. Die Textextraktion gelingt in einer einzigen Zeile.

Terminal
tesseract bildname ausgabename [-l sprache] [-psm segmentierungsmodus] [konfigurationsdatei...]

Beispiel: Deutschen Text extrahieren

Um Text aus rechnung.png zu extrahieren und in ergebnis.txt zu speichern:

Terminal
tesseract rechnung.png ergebnis -l deu
Hinweis: Lassen Sie die Dateiendung .txt im Ausgabenamen weg. Tesseract hängt .txt automatisch an.

Seitensegmentierungsmodi (PSM)

Seitensegmentierungsmodi (PSM) steuern, wie Tesseract das visuelle Layout eines Bildes analysiert, um Textblöcke zu finden. Standardmäßig erwartet Tesseract eine vollständige Textseite (PSM 3). Wenn Ihre Eingabe nur eine Zeile oder unzusammenhängenden Text enthält, setzen Sie das Flag --psm entsprechend.

Faustregel: Nutzen Sie **PSM 3 (Auto)** für Dokumente, **PSM 6 (Block)** für gleichmäßige Absätze und **PSM 7 (Einzelzeile)** für Etiketten und Barcodes.
  • 0: Nur Erkennung von Orientierung und Schriftart (OSD).
  • 1: Automatische Seitensegmentierung mit OSD.
  • 3: Vollautomatische Seitensegmentierung ohne OSD. *(Standard)*
  • 4: Einzelne Textspalte mit variablen Schriftgrößen.
  • 6: Einzelner einheitlicher Textblock.
  • 7: Bild als einzelne Textzeile behandeln.
  • 11: Sparsamer Text. Findet so viel Text wie möglich ohne feste Ordnung.
  • 13: Reine Zeile. Verarbeitet als Einzelzeile unter Umgehung interner Heuristiken.

Um die Erkennung als einzelne Zeile zu erzwingen:

Terminal
tesseract barcode.png stdout --psm 7

OCR Engine Modi (OEM)

Die Engine-Modi (OEM) erlauben das Umschalten zwischen dem klassischen regelbasierten Erkennungsverfahren und dem modernen neuronalen LSTM-Netzwerk. Sie können die Modi über das Flag --oem steuern, um Geschwindigkeit und Präzision abzustimmen.

Empfehlung: **OEM 1 (LSTM)** ist der Standard in Tesseract 5 und bietet die höchste Erkennungsgenauigkeit. **OEM 0 (Legacy)** wird nur für spezielle historische Schriften benötigt.
  • 0: Nur klassische Legacy-Engine. (Traditionelle Computer-Vision-Methoden).
  • 1: Nur neuronale LSTM-Engine. (Schnell und hochpräzise).
  • 2: Legacy- und LSTM-Engine kombiniert.
  • 3: Standard, basierend auf dem geladenen .traineddata Modell.

Ausgabeformate

Neben einfachem Text im Terminal oder in .txt-Dateien kann Tesseract durchsuchbare PDFs und präzise Layoutgeometrien generieren.

Durchsuchbare PDFs

Um ein gescanntes Bild in ein durchsuchbares PDF mit unsichtbarem, exakt ausgerichtetem Text über dem Originalbild umzuwandeln:

Terminal
tesseract dokument.tif ausgabe_pdf pdf

PDF nur mit unsichtbarem Text

Nützlich, wenn Sie in einer Pipeline erkannten Text über bereits bestehende PDF-Seiten legen möchten:

Terminal
tesseract scan.png ausgabe textonly_pdf

hOCR / TSV / ALTO

Wenn Sie exakte Pixelkoordinaten (Bounding Boxes) jedes Wortes und deren Konfidenzwerte benötigen:

Terminal
tesseract bild.png ausgabe hocr
tesseract bild.png ausgabe tsv

Programmierschnittstellen & Wrapper

Möchten Sie Tesseract in eine Web-App oder einen Microservice einbinden? Die Community bietet Bibliotheken für nahezu jede moderne Programmiersprache.

Python (pytesseract)

Erfordert das installierte Tesseract-Kommandozeilentool auf dem System.

Python
import pytesseract
from PIL import Image

img = Image.open('beleg.png')
text = pytesseract.image_to_string(img, lang='deu')
print(text)
Bildvorverarbeitungs-Tipp: Für kontrastarme Belege oder verrauschte Scans empfiehlt sich eine Vorverarbeitung mit Python Pillow vor der Übergabe an pytesseract.

Node.js & JavaScript (tesseract.js)

Vollständige WebAssembly-Portierung der C++-API. Läuft direkt im Browser ohne serverseitige Binärinstallationen.

JavaScript
const Tesseract = require('tesseract.js');

Tesseract.recognize(
  'https://tesseractocr.org/beispiel.png',
  'deu',
  { logger: m => console.log(m) }
).then(({ data: { text } }) => {
  console.log(text);
});

Eigene OCR-Modelle trainieren

Tesseract 5 nutzt die Infrastruktur des tesstrain Projekts zum Trainieren und Fine-Tunen von neuronalen LSTM-Modellen.

Das tesstrain Repository

Im Gegensatz zu Version 3 ist das Training in Version 5 durch Makefiles automatisiert, die die Generierung großer Mengen an Trainingsdaten steuern.

Terminal
git clone https://github.com/tesseract-ocr/tesstrain
cd tesstrain
make tesseract-langdata

Ausführliche Anleitungen zur Erstellung von Ground Truth (GT) Daten und Trainingsepochen finden Sie direkt im offiziellen tesstrain GitHub Repository.


Verwandte Dokumenten-KI & Deep-Learning-Engines

Obwohl Tesseract der bewährte Open-Source-Standard ist, werden moderne Pipelines häufig durch spezialisierte Bibliotheken ergänzt:

  • PaddleOCR: Deep-Learning-OCR-Framework (PP-OCR) mit hervorragender Tabellenerkennung und Unterstützung für mehrsprachige Dokumente.
  • Docling: Dokumentenparser für Generative AI und RAG, der PDFs und Bilder in strukturiertes Markdown und JSON umwandelt.
  • Python Pillow: Die Standardbibliothek zur Bildverarbeitung in Python (Kontrastanpassung, Schwellenwerte und Zuschnitt) vor dem OCR-Lauf.

Ende der Tesseract Kern-Dokumentation.

Haftungsausschluss: TesseractOCR.org ist ein unabhängiges Dokumentationsprojekt der Community und steht in keiner offiziellen Verbindung zum Projekt Tesseract OCR oder dessen Maintainern.