Command Palette

Search for a command to run...

Die Schrägung bricht die OCR lange bevor die Auflösung

Die Schrägung bricht die OCR lange bevor die Auflösung

T
Toolz Team
|Oct 21, 2026|18 min lesen
Bevorzugen Sie Toolz.dev bei Google

Teil der Sammlung KI-Tools

KI-Bild in Text (OCR)

Extrahieren Sie Text aus einem Foto oder Screenshot in 13 Sprachen mit Tesseract OCR, der in Ihrem Browser ausgeführt wird Kostenlos, keine Anmeldung, und Ihr Bild wird nie hochgeladen.

Verwenden Sie die KI-Bild in Text (OCR)

Der Ratschlag, den jeder zum Scannen von Text gibt, ist, die höchste Auflösung zu verwenden, die Sie können, und die richtige Beleuchtung zu erzielen. Ich habe die Engine, die diese Seite verwendet, gegen eine Reihe von absichtlich beschädigten Bildern ausgeführt, um herauszufinden, welche dieser Angelegenheiten und die Antwort weder war. Der gleiche Satz kam perfekt von einem Bild von einem Drittel der Originalgröße, perfekt aus grauem Text auf grauem Hintergrund und perfekt aus einem JPEG, das in Qualität 25 gespeichert wurde. Was es ruinierte, war die Seite um fünf Grad zu kippen. Jede unten stehende Zahl kam aus diesem Lauf heraus und sie zeigen auf eine andere Checkliste als die übliche.

tl; dr: Tesseract liest sauber gerenderten Text, bis zwei bestimmte Dinge schief gehen. Neigung ist die erste: 0 bis 3 Grad Schiefe ergaben eine 0% Zeichenfehlerrate, 5 Grad gaben 2,9%, 12 Grad gaben 16,7% und 20 Grad gaben 32,4%. Die Größe ist die zweite, und es ist eher eine Klippe als eine Steigung: Der Text blieb perfekt bis zu einer Großhöhe von etwa 7 Pixel und wurde dann bei 5,8 Pixel auf 85,3% Fehler zusammengeklappt. Niedriger Kontrast, Unschärfe und schwere JPEG-Komprimierung kaum registriert. Richten Sie das Bild auf, bevor Sie etwas anderes tun. der Bild zu Textkonverter Läuft die Engine in Ihrem Browser, sodass das Bild nie hochgeladen wird.

Wie wurden diese Zahlen produziert?

Durch Rendern eines bekannten Satzes, Schädigung des Bildes nacheinander, Lesen und Zählen der Änderungen, die zur Reparatur des Ergebnisses erforderlich sind.

Die Metrik ist die Zeichenfehlerrate: die Levenshtein-Distanz zwischen dem, was das Bild sagte und dem, was die Maschine zurückgegeben hat, geteilt durch die Länge der Wahrheit. Eine Fehlerrate von 2% in einer Zeile mit fünfzig Zeichen ist ein falsches Zeichen. Der Text bestand aus drei Zeilen, die Prosa, eine Rechnungsnummer, ein Datum, einen Währungsbetrag, eine E-Mail-Adresse und eine Telefonnummer mischen, da die Fehler, die in der Praxis wichtig sind, eher in der zweiten Art von Inhalt als bei der ersten auftreten.

Eine Einschränkung gehört eher oben als begraben. Dies sind gerenderte Bilder, keine Fotos. Jede einzelne Variable isoliert eine einzelne Variable, was die einzige Möglichkeit ist, einen Fehler einer Ursache zuzuordnen, aber ein echtes Foto einer Seite kommt mit mehreren gleichzeitig: eine leichte Neigung, ungleichmäßige Beleuchtung über der Falte, Bewegungsunschärfe an einer Kante und eine Kamera, die alles geschärft hat, bevor sie gespeichert wird. Die folgenden Schwellenwerte sind daher die besten Fälle. Ein Foto, das an der Grenze zweier Achsen liegt, wird schlechter sein, als es jede Zahl vermuten lässt.

Der Motor ist das LSTM-Modell von Tesseract 4 über tesseract.js, genau das, was das Werkzeug läuft, also sind dies keine Zahlen aus einem anderen System.

Wie viel Schiefer ist zu viel?

zwischen drei und fünf Grad, was weniger Neigung ist, als Sie bemerken würden.

Rotation Zeichenfehlerrate berichtetes Vertrauen
0 Grad 0,0% 95
1 Grad 0,0% 95
2 Grad 0,0% 95
3 Grad 0,0% 94
5 Grad 2,9% 91
8 Grad 7,8% 82
12 Grad 16,7% 70
20 Grad 32,4% 66

Für drei Grad passiert nichts und dann fällt es aus einem Regal. Der Grund liegt in der Funktionsweise der Engine: Sie findet Textzeilen und teilt dann jede Zeile in Zeichen auf. Eine geneigte Linie kreuzt mehrere Pixelreihen, so dass das Schneiden durch die Oberseite einiger Buchstaben und die Unterseite anderer schneidet, und das Modell wird gebeten, Fragmente zu klassifizieren.

Bei 5 Grad waren die Fehler klein und teuer. "Datiert" als "Datum" zurückgekehrt und "total" als "TOTG"" zurück. Beide sind ein einzelner Buchstabe in einem Wort, das ein Mensch direkt durchlesen würde, und beide saßen neben einer Rechnungsnummer und einem Währungsbetrag, den eine Person ohne Überprüfung kopieren wollte.

Ein Telefon, das von Hand über eine Seite gehalten wird, wird routinemäßig um mehr als fünf Grad ausgegeben. Dies ist die einzige Sache, die es wert ist, vor dem Ausführen etwas zu reparieren, und die Korrektur ist kostenlos: Drehen Sie das Bild, bis die Linien eben sind.

Wie klein kann der Text sein, bevor OCR fehlschlägt?

Kleiner als erwartet, bis zu dem Punkt, an dem es nicht mehr funktioniert.

Bildbreite Größe des Großbuchstabens Fehlerquote Vertrauen
1600 px ~ 29 px 0,0% 95
800 px ~ 14 px 0,0% 95
533 px ~ 10 px 0,0% 92
400 px ~ 7 px 0,0% 84
320 px ~ 6 px 85,3% 41
240 px ~ 4 px 100,0% 0

Die gleichen drei Zeilen werden perfekt bei einem Viertel ihrer ursprünglichen Größe abgelesen, wobei jeder Großbuchstabe etwa sieben Pixel groß ist. Einen Schritt weiter unten und die Ausgabe war unbrauchbar, dann leer.

Das ist eine Klippe, kein Gefälle, und es ändert den Rat. "Die höchste Auflösung, die Sie haben" ist nicht falsch, beschreibt aber ein Problem, das die meisten Bilder nicht haben. Ein Screenshot einer Webseite, ein Foto eines Schildes, ein Telefonbild eines gedruckten Briefes: Alle diese haben weit mehr als sieben Pixel Briefhöhe. Was sie öfter haben, ist eine Neigung.

Der Ort, an dem die Klippe beißt, ist eine Ernte aus der Ferne. Text im Hintergrund eines Urlaubsfotos, ein Schild über eine Straße, eine Zeile mit Kleingedruckten in einem ganzseitigen Scan mit Bildschirmauflösung. Wenn die Buchstaben bei 100% Zoom schwer zu lesen sind, befindet sich der Motor auch in der Nähe seines Bodens.

Ruiniert der Kontrast die Lesung?

Nein, und das war das Ergebnis, das dem, was ich erwartet hatte, widersprach.

Grauer Text bei # 8a8a8a auf grauem Hintergrund bei #bdbdbd Lesen Sie mit einer Fehlerrate von 0,0% und einem Vertrauen von 95, identisch mit schwarz auf weiß. Eine Gaußsche Unschärfe von drei Pixeln über das gesamte Bild ergab 0,6%. Ein auf Qualität 25 gespartes JPEG und eine auf halbe Größe skalierte ergab 0,0%.

Der Grund ist, dass der Motor Ihre Grautöne nicht liest. Es binarisiert zuerst das Bild und verwandelt alles in Schwarzweiß mit einer aus dem Bild ausgewählten Schwelle, und der gleichmäßige, niedrige Kontrast überlebt diesen Schritt. Was nicht überlebt, ist der Kontrast, der sich über die Seite unterscheidet. Dies ist das, was ein Schatten oder ein Telefonblitz erzeugt: Ein Schwellenwert kann nicht für beide Bildhälften geeignet sein.

Die nützliche Version der Beleuchtungsberatung ist also schmaler als die übliche. Auch die Beleuchtung zählt. Helle Beleuchtung nicht. Ein schwaches, gleichmäßig beleuchtetes Foto einer Seite schlägt eine helle mit einem Schatten in der Mitte.

Warum kommt ein zweispaltiges Layout durcheinander?

Weil die Lesereihenfolge ein Layout-Beurteilung ist und der Motor es nur aus der Geometrie herausstellt.

Ich habe zwei Textblöcke nebeneinander, jeweils drei Zeilen, auf gemeinsamen Basislinien gerendert. Das Ergebnis kam ineinander über:

LEFT ONE RIGHT ONE LEFT TWO RIGHT TWO LEFT THREE RIGHT THREE

Jedes Wort ist richtig. Die Bestellung ist nutzlos. Die Maschine fand sechs Textzeilen an drei vertikalen Positionen und las jede Zeile über das richtige Verhalten für eine Tabelle und die falsche für zwei Spalten mit Prosa.

Eine echte Zeitungsseite oder ein akademisches PDF überlebt dies oft, da die Rinne zwischen den Spalten breit und konsistent genug ist, um den Seitensegmentierungsschritt zu erkennen. Ein Screenshot eines Layouts mit zwei losen Blöcken nebeneinander, was der übliche Fall für diese Art von Werkzeug ist, tut dies oft nicht.

Die zuverlässige Lösung ist zu beschneiden. Führen Sie eine Spalte aus, kopieren Sie das Ergebnis und führen Sie die andere aus. Es klingt mühsam und dauert ungefähr fünfzehn Sekunden, was weniger als das Wiederaufbauen eines Absatzes ist, dessen Sätze gemischt wurden.

Kann es Handschrift lesen?

Nicht zuverlässig, und die Grenze geht es darum, ob die Buchstaben sich berühren und nicht, ob sie informell aussehen.

Ich konnte keine echte Handschrift testen, ohne ein Foto bereitzustellen, das gemischte Variablen hätte, also habe ich drei Schriftarten mit abnehmender Regelmäßigkeit als Stand-in getestet:

Schrift Fehlerquote Vertrauen
Comic Sans MS 0,0% 95
Pinselskript mt 5,9% 67
Runde Hand singen 20,6% 55

Comic Sans ist informell und für den Motor perfekt lesbar, da seine Buchstaben getrennte Formen von gleichbleibender Breite sind. Snell Roundhand ist ein verbundenes Skript, und ein Fünftel der Charaktere hat sich falsch geschlagen.

Das ist die wahre Unterscheidung. Das Tesseract-Modell wurde auf gedruckter Art trainiert und erwartet, eine Linie in diskrete Glyphen zu schneiden. Verbundenes Schreiben hat keine sauberen Schnittpunkte, sodass die Segmentierung fehlschlägt, bevor die Erkennung eine Chance bekommt. Echte Handschrift ist schlimmer als Snell Roundhand, nicht besser, weil es auch Brief zu Brief variiert.

Wenn Sie die Handschrift benötigen, ist dies das falsche Werkzeug, ebenso wie jedes andere Tesseract-Frontend. Dieser Job braucht ein auf Handschrift geschultes Modell.

Welche Charaktere macht es falsch?

Buchstaben, die wie Ziffern aussehen, und die Richtung ist konsistent.

Ich habe eine Zeile der üblichen Verdächtigen gerendert und sie zurückgelesen:

truth:  O0 l1I 5S 8B 2Z rn/m
read:   00 111 5S 8B 2Z rn/m

Hauptstadt O wurde zur Null. Kleinbuchstabe L und Capital I wurden beide zur Ziffer 1. Die Paare sorgen sich um die meisten, 5 gegen S und 8 gegen B, kamen richtig zurück, ebenso wie RN gegen M.

Das Muster ist, dass ein isolierter Buchstabe mit einer zifferförmigen Glyphe als Ziffer gelesen wird. Beim Laufen von Prosa zählt dies selten, da das umliegende Sprachmodell das Ergebnis zurück zum Wort zieht. In einem Referenzcode, einer Seriennummer oder einem Kennzeichen gibt es kein umliegendes Wort, das hilft, und genau hier wird diese Art von Werkzeug verwendet.

Korrekturlesen von Zeichenfolgen, die Buchstaben und Ziffern ohne Leerzeichen mischt. Es ist die einzige Ausgabeklasse, bei der der Motor sicher falsch liegt.

Was sagt Ihnen die Vertrauensbewertung?

Ungefähr wie die Seite verlief und nicht, ob die Nummer, die Sie interessieren, richtig ist.

Das Werkzeug zeigt die mittlere Wortkonfidenz des Motors als hoch, mittel oder niedrig mit einem hohen Wert von 85 und darüber. Gegen die gemessenen Fehlerraten ist diese Zuordnung am Rande allgemein sinnvoll und optimistisch:

Gehäuse Vertrauen Etikett Echte Fehlerrate
Sauber 95 high 0,0%
5 Grad Schiefe 91 high 2,9%
12 Grad Schiefe 70 mittlere 16,7%
320 px breit 41 naturge 85,3%
Verbundenes S 55 naturge 20,6%

Eine niedrige Punktzahl ist eine zuverlässige Warnung: Alles, was unter 60 Punkte erzielte, war wirklich kaputt. Ein Highscore ist schwächer als es aussieht. Der 5-Grad-Fall erzielte 91, die die Schnittstelle hoch nennt, während ein Wort in einer Rechnungszeile leise verfälscht wird.

Verwenden Sie es eher als Rauchmelder als als Garantie. Niedrige Mittelwerte lesen nicht die Ausgabe. High bedeutet, dass die Seite als Ganzes gut gelaufen ist, was nicht mit jedem Recht übereinstimmt.

Wie viel kostet das Herunterladen jeder Sprache?

Zwischen 0,67 und 2,82 Megabyte, wird es einmal zwischengespeichert.

Die Engine benötigt eine trainierte Datendatei pro Sprache. Da das Tool nur das LSTM-Modell ausführt, zieht es das integerisierte bester Qualität, das erheblich kleiner ist als die Dateien, die die meisten OCR-Aufzeichnungen angeben. Aus dem CDN gemessen wird die Bibliothek standardmäßig:

Sprache herunterladen Sprache herunterladen
englisch 2,82 MB Hindi 1,32 MB
Russe 2,56 MB Bengali 1,31 MB
spanisch 2,00 MB Koreaner 1,50 MB
Japaner 1,94 MB deutsch 1,27 MB
Chinesisch (vereinfacht) 1,64 MB Portugiese 1,33 MB
arabisch 1,58 MB italien 1,58 MB
französ 0,67 MB

Alle dreizehn zusammen kommen auf etwa 21 MB, was weniger als ein Foto von einem modernen Telefon ist. Die allgemeine Annahme, dass Chinesisch oder Japanisch enorm sein müssen, gilt hier nicht: Chinesisch vereinfacht ist 1,64 MB, kleiner als Englisch, da die Datei eher ein Modell als eine Glyph-Bibliothek speichert.

Warum ist der erste Lauf langsamer als der zweite?

Weil der erste eine Engine herunterlädt und startet, und die zweite nur liest.

Der erste Lauf einer Sprache ruft den WebAssembly-Build von Tesseract ab, ruft die Datendatei dieser Sprache ab und initialisiert einen Worker. Danach bleibt der Worker auf der Seite und die Datendatei wird vom Browser zwischengespeichert, sodass ein zweites Bild in derselben Sprache sofort beginnt. Das Wechseln der Sprachen initialisiert den Arbeiter erneut, lädt jedoch nichts erneut herunter, was bereits abgerufen wurde.

Die Anerkennung selbst ist schnell. Auf diesem Computer dauerte das Lesen des Drei-Linien-Testbilds 186 Millisekunden für die saubere Version und zwischen 70 und 125 Millisekunden für die beschädigten, allesamt eines bereits laufenden Arbeiters. Für eine ganze Seite mit Text erwarten Sie ein oder zwei statt ein Zehntel, aber das Warten, das Sie bemerken, ist eingerichtet und nicht gelesen.

Sobald eine Sprache zwischengespeichert ist, arbeitet das Tool ohne Netzwerk, was eher eine echte Offline-Funktion als eine Marketinglinie ist.

Was sollten Sie mit einem Image tun, bevor Sie OCR ausführen?

Drei Dinge in dieser Reihenfolge und das erste ist wichtiger als die anderen beiden zusammen.

  1. Richten Sie es aus. Drehen, bis die Textzeilen eben sind. Drei Grad sind frei, fünf nicht.
  2. Zuschneiden zum Text. Dadurch wird das Spaltenproblem beseitigt, der vom Segmenter abzulehnende Hintergrund entfernt und der Text zu einem größeren Teil des Frames.
  3. Lass alles andere in Ruhe. Nicht schärfen, nicht anheben, nicht von Hand in Schwarz und Weiß umwandeln. Der Motor binariert sowieso, und ein Schärffilter sorgt für ein Klingeln um die Buchstabenkanten, das vorher nicht vorhanden war.

Das, was es wert ist, hinzugefügt zu werden, anstatt es zu entfernen, ist die Auflösung, aber nur, wenn Sie sich in der Nähe des Bodens befinden. Wenn man von einer Höhe von 7 Pixel zu einer Höhe von 14 Pixeln übergeht, änderte man nichts an den Messungen. Von 6 auf 7 zu gehen hat alles verändert.

Wann ist OCR das falsche Werkzeug?

Wenn das Bild nicht aus Text besteht, wenn der Text handgeschrieben ist und wenn das gewünschte Dokument eher ein durchsuchbares Dokument als ein Zeichenblock ist.

OCR gibt Ihnen die Wörter ohne Struktur: Keine Überschriften, keine Tabellenzellen, keine Absatzgrenzen, denen Sie vertrauen können, keine Lesereihenfolge über ein komplexes Layout. Für ein Zitat aus einem Screenshot oder einer Adresse von einem Foto, das genau richtig ist. Um einen gescannten Bericht in etwas Bearbeitbares zu konvertieren, ist er der erste von mehreren Schritten.

Wenn Sie eine Beschreibung eines Bildes und nicht der darin gedruckten Wörter wünschen, ist dies ein ganz anderes Modell und ein anderes Werkzeug. Und wenn es sich bei der Quelle um ein PDF handelt, das nicht gescannt und nicht gescannt wurde, befindet sich der Text bereits in der Datei: Das direkte Herausziehen behält das Layout und verliert nichts, was kein Maß an Bilderkennung entspricht.

Warum läuft das im Browser?

Weil die Bilder, die die Leute durch OCR machen, diejenigen sind, die sie am wenigsten hochladen möchten.

Belege, Bankbriefe, Rezepte, Pässe, Ausweise, ein Vertragsfoto, ein Screenshot eines privaten Gesprächs. Die übliche Alternative ist eine Site, die Ihr Image aufnimmt, es auf einem Server verarbeitet, von dem Sie nichts wissen, und das, was es aufbewahrt, aufbewahrt.

Hier läuft die Engine in der Seite in einem Worker. Das Bild wird in den Tab-Speicher dekodiert, dort gelesen und der Text erscheint. Nichts wird hochgeladen, es gibt keine Warteschlange und keine gespeicherte Kopie, und nach dem ersten Lauf funktioniert das Ganze offline. Die Kosten sind der einmalige Sprachdownload und die sehr großen Bilder sind durch die Registerkarten begrenzt.

Zwei Dinge, die diese Seite noch nicht tut und die in derselben Pipeline gehören: eine fotografierte Seite zu begradigen und sie zum Text zuzuschneiden. Beide müssen in jedem bereits vorhandenen Viewer passieren, was die einzige unangenehme Naht im obigen Workflow ist. Was danach kommt, wird behandelt: Wenn die Quelle ein Foto von mehreren Seiten ist, Der Leitfaden zum Kombinieren von Bildern geht mit der Zusammenstellung der Ergebnisse zusammen.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!