Google Cloud Vision – Zahlen und Ziffern OCR

Ich habe versucht, ein OCR-Programm mit Python zu implementieren, das Zahlen mit einem bestimmten Format, XXX-XXX liest. Ich habe Google Cloud Vision API Text Anerkennung, aber die Ergebnisse waren unzuverlässig. Von 30 kontrastreichen 1280 x 1024 bmp Bildern entstand nur eine Handvoll die richtige Ausgabe, oder zumindest die korrekte Ausgabe in den Ergebnissen. Das Programm neigt dazu, einige Zahlen auszulassen, in nicht-englischen Sprachen auszugeben oder in einigen Sonderzeichen zu schleichen.

Das Ziel ist es, zumindest die richtigen Zahlen nacheinander auszugeben, spielt keine Rolle, ob die Ergebnisse mit einem anderen Junk bestreut werden. Gibt es eine Möglichkeit, dem Programm zu helfen, Zahlen besser zu erkennen, zB die Ergebnisse auf ein bestimmtes Format zu beschränken oder nur auf Zahlen?

2 Solutions collect form web for “Google Cloud Vision – Zahlen und Ziffern OCR”

In diesem Moment ist es nicht möglich, Einschränkungen hinzuzufügen oder ein bestimmtes erwartetes Zahlenformat für Vision-API-Anfragen zu geben, wie hier erwähnt (vom Projektmanager von Cloud Vision API).

Sie können auch alle möglichen Anforderungsparameter (in der API-Referenz ) überprüfen, keine, die etwas angibt, um das Zahlenformat anzugeben. Derzeit nur Optionen für:

  • LatLongRect: Geben Sie den Speicherort des Bildes an
  • LanguageHints: Angabe der erwarteten Sprache für text_detection (Liste der unterstützten Sprachen hier )

Ich nehme an, Sie haben bereits die vielfältigen Antworten (mit verschiedenen eingeschlossenen Bildregionen) ausgecheckt, um zu sehen, ob man den Text mit dem Ort der verschiedenen Ziffern rekonstruieren könnte?

Beachten Sie, dass die Vision API und die text_detection nicht für Ihre Daten speziell optimiert sind, wenn Sie viele kommentierte Daten haben würden, sondern auch eine Option, um Ihr eigenes Modell mit Tensorflow zu erstellen. Dieser Blogpost erklärt ein System-Setup zur Erkennung von Nummernschildern (mit einem bestimmten Zahlenformat). Der ganze Code ist auf Github verfügbar und das Problem scheint sehr mit deinem verwandt zu sein.

Ich kann Ihnen nicht sagen, warum das funktioniert, vielleicht hat es zu tun, wie die Sprache gelesen wird, o vs 0, l vs 1, etc. Aber wann immer ich OCR und ich bin speziell auf der Suche nach Zahlen, habe ich gelesen zu setzen Die Erkennungssprache zu "Korean". Es funktioniert außergewöhnlich gut für mich und hat die Genauigkeit stark beeinflusst.

Python ist die beste Programmiersprache der Welt.