Ziel ist es, eine App zu erstellen, die Eiermarkierungen erkennen kann, zum Beispiel 0-DE-134461
. Ich habe sowohl versucht Tesseract und die Google Vision API zu den folgenden Bildern. Die Ergebnisse beider OCR-Engines sind katastrophal.
0-DE-46042
%Vor%3-ES08234-25591
%Vor%Ich habe die Bilder manuell mit Photoshop zugeschnitten.
0-DE-46042
%Vor%3-ES08234-25591
%Vor%Ich habe den Text auf beiden Eiern in Photoshop manuell ausgewählt und den Hintergrund entfernt.
0-DE-46042
%Vor%3-ES08234-25591
%Vor%Ich nehme an, dass der letzte Vorverarbeitungsschritt den kreisförmigen Warp entfernen sollte, aber ich würde nicht wissen, wie man das manuell mit Photoshop macht, geschweige denn, das zu automatisieren.
Der Befehl, mit dem ich die Tesseract-OCR-Ergebnisse erhalten habe:
%Vor%Die Tesseract-Version:
%Vor% Plattform: Windows 10
Ich habe mit OpenCV ein adaptives Thresholding auf einige Eiermarkierungsbilder angewendet. Dies sind die bisherigen Ergebnisse:
Allerdings gibt es immer noch viel Lärm. Ich habe Mühe, die Parameter so anzupassen, dass sie über verschiedene Bilder hinweg gut funktionieren.
Ich habe einen Vorschlag.
Ich habe versucht, eine lokale Histogrammentzerrung für alle drei Kanäle im BGR-Farbraum anzuwenden und sie dann zusammengeführt.
Ergebnis:
Wenn die Details im Bild verbessert sind, können Sie über die Vorverarbeitung dieser Bilder nachdenken.
Ich habe auch versucht, das Histogramm der drei Kanäle global zu entzerren. Die Bilder, obwohl klar als das Original, fehlte die Tiefe im Detail.
Tags und Links opencv ocr tesseract google-vision