Artikel
OCR-Genauigkeit verbessern: Bild korrigieren, bevor der Text erkannt wird
OCR ist nur so gut wie das Bild, das man einspeist. Ein schiefes, kontrastarmes, verrauschtes Scan-Ergebnis liefert unlesbaren Text, egal wie leistungsfähig die Engine ist. Hier ist, was tatsächlich den Unterschied macht, in der Reihenfolge, in der es zu tun ist, alles lokal im Browser.
Warum OCR mit echten Scans zu kämpfen hat
Eine OCR-Engine wie Tesseract wurde auf sauberem, horizontalem, kontrastreichen Text trainiert. Sie zerlegt eine Seite in Zeilen, Zeilen in Wörter und Wörter in Zeichenformen, dann vergleicht sie jede Form mit ihrem trainierten Modell. Reale Scans verletzen diese Annahmen: Die Seite ist um einige Grad geneigt, die Beleuchtung ist ungleichmäßig, die Auflösung ist niedrig, und der Rand der Scannerfläche oder die gegenüberliegende Seite fügt dunkles Rauschen hinzu. Jedes dieser Probleme lässt den Schritt zur Zeilen- und Zeichensegmentierung falsch raten, und eine falsche Segmentierung überträgt sich auf falsche Zeichen. Die Lösung ist selten eine andere Engine: Es geht darum, das Bild so vorzubereiten, dass die Annahmen der Engine zutreffen. In der Praxis verbessert die Vorverarbeitung die Genauigkeit mehr als die Wahl der OCR-Engine.

Beginne mit der Auflösung: 300 DPI anstreben
Tesseract arbeitet am besten bei etwa 300 DPI für normalen Fließtext. Unterhalb von etwa 200 DPI verschwimmen die Striche jedes Glyphs mit den Nachbarn, und die Genauigkeit fällt deutlich ab. Wenn du den Scan steuerst, stelle den Scanner auf 300 DPI ein, bevor du irgendetwas anderes tust, da es die Entscheidung mit dem größten Einzeleffekt ist. Wenn du nur ein niedrig aufgelöstes Bild hast, erfindet die Vergrößerung keine Details, die nie erfasst wurden, aber eine moderate Vergrößerung kann der Engine helfen, berührende Zeichen zu trennen, indem der Segmentierung mehr Pixel zur Verfügung stehen. Sehr kleiner Druck profitiert von 400 bis 600 DPI; darüber hinaus wächst nur die Datei ohne Genauigkeitsgewinn. Wenn die Quelle ein PDF ist, rasterisiere zunächst jede Seite bei der gewünschten DPI in ein Bild, dann führe OCR auf diesem Bild aus.
Ausrichtung korrigieren
Ist die Seite um 90, 180 oder 270 Grad gedreht, liest die Engine seitwärts oder auf dem Kopf und gibt Unsinn zurück. Tesseract verfügt über einen Orientierungs- und Schrifterkennungsschritt (OSD), der die Drehung schätzen kann, dieser ist aber unzuverlässig bei spärlichem Text, Formularen oder bildlastigen Seiten. Die Seite selbst aufrecht zu drehen beseitigt die Ungewissheit. Dieser Schritt ist verlustfrei und sofort: Ein Drehen um ein Vielfaches von 90 Grad ordnet vorhandene Pixel nur neuen Positionen zu, ohne Qualitätsverlust und ohne Neuabtastung. Tue es vor dem Begradigen, da dieser Schritt davon ausgeht, dass der Text bereits ungefähr horizontal liegt.
Begradigen: die kleine Neigung ausgleichen
Selbst eine Neigung von 2 bis 3 Grad, wie sie durch ein leicht schräges Einlegen einer Seite entsteht, schadet dem OCR: Der Schritt zur Erkennung horizontaler Zeilen teilt eine Textzeile in zwei, oder verschmilzt zwei Zeilen zu einer. Das Begradigen misst den dominanten Winkel der Textzeilen (üblicherweise mittels Projektionsprofil- oder Hough-Transformation) und dreht die Seite zurück in die Waagerechte. Im Gegensatz zu einer 90-Grad-Drehung ist das Begradigen eine kleine Drehung um einen beliebigen Winkel, die Pixel neu abtastet und eine minimale Unschärfe hinzufügt. Dieser Kompromiss lohnt sich fast immer, weil ebene Zeilen sauber segmentiert werden und der Genauigkeitsgewinn die leichte Weichzeichnung bei Weitem überwiegt. Begradige nach der Ausrichtungskorrektur und vor dem Zuschneiden.

Text zuschneiden und Rauschen entfernen
Alles, was nicht der gesuchte Text ist, ist Rauschen, das die Engine falsch lesen kann: der dunkle Rand der Scannerfläche, ein Teil der gegenüberliegenden Seite, eine geheftete Ecke, ein Finger oder ein Lochung. Das Zuschneiden auf den Textblock entfernt diese falschen Ziele, was die Genauigkeit verbessert und die Erkennung beschleunigt, weil die Engine weniger Fläche analysieren muss. Bei einem mehrspaltigen Dokument verhindert das Zuschneiden (oder das zeilenweise Ausführen von OCR) außerdem, dass die Engine horizontal über den Bundsteg liest und zwei Spalten zu einer einzigen unlesbaren Zeile vermengt. Schneide nach dem Begradigen zu, damit der Inhalt gerade im Rahmen sitzt.
Kontrast, Graustufen und wie die Binarisierung wirklich funktioniert
OCR arbeitet letztlich auf einem Binärbild: Jeder Pixel wird als Tinte oder Papier eingestuft. Tesseract erledigt dies intern mit der Methode von Otsu, die einen einzigen globalen Schwellenwert aus dem Bildhistogramm wählt. Das funktioniert gut, wenn die Seite gleichmäßig beleuchtet ist und guten Kontrast hat, und versagt, wenn ein Schatten oder ein farbiger Hintergrund eine Ecke dunkler macht, als der Schwellenwert erwartet. Die zuverlässigen Gewinne bestehen darin, in Graustufen zu konvertieren, damit ein Farbstich den Schwellenwert nicht verwirrt, und die Beleuchtung zu glätten, sodass die gesamte Seite auf einer Seite davon liegt. Kontrast mäßig zu erhöhen hilft bei blassem Text. Was häufig nach hinten losgeht, ist eine harte manuelle Binarisierung: Setzt man den Schwellenwert selbst auf reines Schwarz-Weiß mit dem falschen Wert, löscht man schwache Striche, die der eigene Schritt der Engine behalten hätte. Lass die Engine binarisieren und gib ihr ein gleichmäßiges Graustufenbild als Ausgangspunkt. Sunasty bietet Graustufen für PDFs; für feine Kontrastanpassungen ist ein Desktop-Editor noch besser, aber eine gleichmäßige Beleuchtung beim Scannen zählt mehr als jeder Schieberegler.
Richtige Sprache wählen und Ergebnis prüfen
Tesseract lädt pro Sprache und Schrift eine eigene trainierte Datendatei. Ein englisches Modell auf französischem oder griechischem Text auszuführen erzeugt vermeidbare Fehler, besonders bei akzentuierten oder nicht-lateinischen Zeichen, daher sollte man die zum Dokument passende Sprache wählen. Das OCR-Ergebnis sollte man als Entwurf behandeln, nicht als endgültige Antwort: Die Engine hat keine Möglichkeit zu wissen, ob ein Name richtig geschrieben ist oder ob eine 0 keine O ist. Zahlen, Eigennamen und alles rechtlich oder finanziell Relevante sollten manuell geprüft werden. Bei Tabellen und mehrspaltigen Layouts ist damit zu rechnen, dass die Struktur von Hand korrigiert werden muss, weil OCR einen Strom erkannten Texts zurückgibt, kein rekonstruiertes Layout.
Tools in diesem Artikel
- OCR · Bild/PDF zu TextText aus gescannten Bildern oder PDFs vollständig im Browser extrahieren, läuft offline, kein Upload.
- Gescannte Seiten begradigenSchiefe gescannte PDFs oder Bilder vollständig im Browser begradigen, kein Upload.
- Bilder drehen & spiegelnBilder um 90/180/270° drehen oder horizontal und vertikal spiegeln, ohne hochzuladen.
- Bild zuschneidenBilder mit interaktiver Vorschau zuschneiden, Zuschneidebereich ziehen und skalieren. Kein Upload.
- PDF in GraustufenEin farbiges PDF vollständig im Browser in Graustufen konvertieren, kein Upload.
- Bilder skalierenBilder skalieren und konvertieren (JPEG, PNG, WebP) ohne Upload.
- PDF zu BildernJede PDF-Seite direkt im Browser als PNG oder JPG konvertieren.
Häufige Fragen
Verbessert das Hochskalieren eines unscharfen Scans den OCR?
Kaum, für sich allein. Hochskalieren kann keine Details zurückgewinnen, die der Scan nie erfasst hat, sodass ein unscharfes 100-DPI-Bild unscharf bleibt. Eine moderate Vergrößerung kann der Engine helfen, berührende Zeichen zu trennen, indem der Segmentierung mehr Pixel zur Verfügung stehen, aber erneutes Scannen bei 300 DPI ist weit wirksamer als jede Hochskalierung.
Soll ich das Bild zuerst selbst in reines Schwarz-Weiß umwandeln?
In der Regel nicht. Tesseract binarisiert intern mit der Methode von Otsu, und ein manueller harter Schwellenwert mit dem falschen Wert löscht schwache Striche, die die Engine behalten hätte. Konvertiere stattdessen in Graustufen und gleiche die Beleuchtung aus, dann lass die Engine ihren eigenen Schwellenwert wählen.
Mein Text liegt seitwärts. Dreht OCR ihn automatisch?
Manchmal. Tesseract hat einen Schritt zur Orientierungserkennung, der aber bei Formularen, spärlichem Text oder bildlastigen Seiten unzuverlässig ist. Die Seite selbst um 90, 180 oder 270 Grad aufrecht zu drehen ist verlustfrei und beseitigt die Ungewissheit, daher ist es die sicherere Wahl.
Wird mein Dokument dabei irgendwo hochgeladen?
Nein. Das Drehen, Begradigen, Zuschneiden, die Graustufen-Konvertierung und das OCR selbst laufen alle im Browser. Das OCR verwendet einen WebAssembly-Build von Tesseract, und die trainierten Sprachdaten werden einmal heruntergeladen und zwischengespeichert. Die Datei verlässt das Gerät zu keinem Zeitpunkt.