2016-11-02 3 views
1

Ich arbeite an OCR, die ich habe arbeiten, aber jetzt bin ich fest, wie das OCR-Ergebnis zu filtern, um jede Zeichenfolge in eine Reihe von Textfeldern zu verschieben.Filter OCR Ergebnis

Zum Beispiel OCR Ergebnis:

Name: Jhon

No: 12345

Adresse: Kanada

... aber manchmal tritt es "Jhon" in das Textfeld "Adresse" oder "Jhon" in das Textfeld "Nein".

Antwort

1

Für Daten, die Prüfsummen enthalten (normalerweise Bankkontonummern), können Sie die Prüfsumme validieren, und wenn Sie wirklich sehr niedrige falsch-positive Fehler wünschen, müssen Sie Video-Stream-Eingabe und OCR für einige Zeit machen akkumulieren mehrere Ergebnisse. Wenn die meisten "checksum-valid" gleich sind, dann ist das sehr wahrscheinlich (99,5 +%) die richtige Zeichenfolge.

Ohne Video-Stream und kumulative Ergebnisse können Sie wahrscheinlich in 97-99,5% mit checksummed Daten erhalten.

Ohne Prüfsumme: Nun, Sie können es nicht wirklich sagen.

Für Felder wie "Nein" können Sie zumindest alphabetische Ergebnisse ablehnen, und für "Name" können Sie Zahlen bestrafen (obwohl ich glaube, dass es einige obskure Länder gibt, in denen eine Ziffer gültig ist?) Geben Sie den "alphabet_digit" -Ergebnissen ein Bonusvertrauen und zusätzlich ein Wörterbuch aller Strings/Städte-Strings, aber am Ende gibt es keine Möglichkeit zu sagen, welches Ergebnis korrekter ist als das andere.

Wenn Sie erneut Videostream eingeben und mehrere Ergebnisse über einen längeren Zeitraum (1-5s) akkumulieren, erhalten Sie möglicherweise genügend Ergebnisse, um einige Statistiken zu erstellen. Wenn Sie dann einen ausreichend großen Schwellenwert für den gleichen Teil des Ergebnisses haben die OCR, um es als "richtig" zu betrachten.

Auch dann wird die Zuverlässigkeit solcher Zeichenketten wahrscheinlich unter 98%, mehr in Richtung 90-95%, für generische Texte ohne Hinweis (Ziffer/Buchstabe/Größe/Position) können Sie sogar in 50-80% Zuverlässigkeit bekommen Bereich (als ganze Zeichenfolge, da die OCR selbst etwa 95-98% pro einzelnes Zeichen enthält).