Bild in Text (OCR): wie es funktioniert und wie der Text sauber wird

Aktualisiert:

OCR, optische Zeichenerkennung, macht aus dem Bild eines Textes Text, den man kopieren, durchsuchen und bearbeiten kann. Sie liest den Screenshot einer Fehlermeldung, das Foto eines Briefes oder einen gescannten Vertrag. Die meisten Fehler kommen vom Bild, nicht von der Software – ein paar Minuten für das Foto sparen meist mehr Zeit als das Korrigieren des Ergebnisses.

Wie OCR ein Bild liest

Tesseract, die quelloffene Engine hinter den meisten kostenlosen OCR-Werkzeugen, arbeitet in drei Schritten. Zuerst macht sie das Bild schwarz-weiß und entscheidet für jedes Pixel, ob es Tinte oder Papier ist. Dann findet sie die Blöcke, Spalten und Zeilen. Zuletzt liest seit Version 4.00 ein neuronales Netz jede Zeile als Ganzes statt Buchstabe für Buchstabe, und die Sprachdaten helfen ihm, zwischen ähnlichen Formen zu wählen.

Jeder Schritt kann auf seine Weise scheitern: Ein Schatten auf der Seite verdirbt das Schwarz-Weiß, ein schiefes Foto die Zeilen und die falsche Sprache die Buchstaben.

Bild in Text (OCR)

Was den größten Unterschied macht

Häufige Probleme und was hilft

Was Sie sehenWas hilft
Buchstaben fehlen oder sind zerrissenFoto bei gleichmäßigem Licht ohne Schatten; Kontrast erhöhen oder mit 300 dpi scannen
Zeilen vermischt oder in falscher ReihenfolgeBild gerade ausrichten; Kassenbons und Tabellen Zeile für Zeile lesen
Zeichensalat an den RändernDunkle Scanränder abschneiden, einen schmalen weißen Rand lassen
Umlaute und Akzente fehlenVor dem Lesen die Sprache des Textes wählen
Heller Text auf dunklem Grund schlecht gelesenFarben vorher umkehren: Die Engine erwartet dunklen Text auf hellem Grund
0 und O, 1 und l, 5 und S verwechseltCodes, Beträge und Namen mit dem Auge prüfen: Kein Wort hilft der Engine beim Raten

Fehler in Zahlen wiegen am schwersten, weil nichts im Text sie verrät. Vergleichen Sie Beträge, Daten und Nummern immer mit dem Bild.

Screenshots, Fotos und Scans

Ein Screenshot ist der einfache Fall: scharf, gerade und gleichmäßig hell. Sein einziges Problem ist kleine Schrift in Programmoberflächen, die das nTools-Werkzeug vor dem Lesen vergrößert. Ein Foto einer Seite bringt die schwierigen Fälle: Perspektive, Schatten, Unschärfe und unruhiger Hintergrund. Ein Flachbettscan mit 300 dpi ist die beste Quelle für lange Dokumente.

Gescannte PDFs

Ein PDF aus einem Scan ist eine Sammlung von Bildern: Der Text lässt sich nicht markieren, eine Suche findet nichts, und ein Screenreader hat nichts zu lesen. Die Barrierefreiheitsrichtlinien des W3C (WCAG) behandeln ein solches PDF als Bilder von Text und empfehlen, es per OCR zu erkennen und danach den erkannten Text und die Lesereihenfolge zu prüfen. Lässt sich der Text eines PDF markieren, ist er schon Text, und Kopieren ist genauer als jede OCR.

PDF in Word liest gescannte Seiten per OCR und erzeugt ein bearbeitbares Dokument; Sie können die Seiten auch in Bilder umwandeln und in Bild in Text lesen.

PDF in Word

Wohin das Bild geht

Viele OCR-Dienste laden das Bild auf einen Server. Tesseract kann aber auch im Browser laufen, als WebAssembly übersetzt: So arbeitet das nTools-Werkzeug, Bild und Text bleiben also auf Ihrem Gerät. Der Browser lädt nur die Engine und die Daten der gewählten Sprache herunter.

Häufige Fragen

Kann OCR Handschrift lesen?

Kaum. Tesseract ist auf gedruckten Text trainiert; saubere Druckbuchstaben klappen manchmal, normale Handschrift nicht. Dafür braucht es Engines, die eigens auf Handschrift trainiert sind.

Wie genau ist OCR?

Bei einer sauberen, mit 300 dpi gescannten Druckseite ist fast jedes Zeichen richtig. Fotos, kleine Schrift und ungewöhnliche Schriftarten bringen mehr Fehler. Der angezeigte Konfidenzwert ist die eigene Schätzung der Engine, ein Warnsignal, keine Garantie.

Warum werden 0 und O oder 1 und l verwechselt?

In vielen Schriften sehen sie fast gleich aus. Bei normalen Wörtern helfen die Sprachdaten bei der Wahl; bei Codes, Seriennummern und Passwörtern nicht – prüfen Sie diese Zeichen für Zeichen.

Welche Sprachen kann es lesen?

Für Tesseract gibt es Daten für mehr als 100 Sprachen. Das nTools-Werkzeug bietet Englisch, Spanisch, Französisch, Deutsch, Italienisch und Portugiesisch; wählen Sie die Sprache vor dem Lesen, denn sie bestimmt, welche Buchstaben die Engine erwartet.

Behält OCR Tabellen und Formatierung?

Nein. Das Ergebnis ist reiner Text mit Zeilenumbrüchen. Tabellen sind eine bekannte Schwäche von Tesseract: Lesen Sie sie Zeile für Zeile, damit jede Zeile zusammenbleibt, und bauen Sie die Spalten danach neu auf.

Quellen

  1. Tesseract documentation — Improving the quality of the output
  2. Tesseract documentation — Neural nets in Tesseract 4.00
  3. Tesseract.js — Pure JavaScript OCR for more than 100 languages
  4. W3C — WCAG 2.2 technique PDF7: performing OCR on a scanned PDF document
  5. W3C — Understanding WCAG 2.2: Images of Text (1.4.5)

Weitere Ratgeber