Bildvorverarbeitung für die Erkennung von Eiern mit Tesseract

8

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%

Beschnitten

Ich habe die Bilder manuell mit Photoshop zugeschnitten.

0-DE-46042

%Vor%

3-ES08234-25591

%Vor%

Schwellwert

Ich habe den Text auf beiden Eiern in Photoshop manuell ausgewählt und den Hintergrund entfernt.

0-DE-46042

%Vor%

3-ES08234-25591

%Vor%

Entfernen der kreisförmigen Kette?

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.

Meine Fragen

  • Gehe ich in die richtige Richtung?
  • Sind meine Vorverarbeitungsschritte korrekt?
  • Was wäre der Ansatz, um diese Schritte beispielsweise in OpenCV zu automatisieren?

Zusatzinfo

Der Befehl, mit dem ich die Tesseract-OCR-Ergebnisse erhalten habe:

%Vor%

Die Tesseract-Version:

%Vor%

Plattform: Windows 10

Bearbeiten 1

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.

Tomasito665 31.08.2017, 10:48
quelle

1 Antwort

2

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.

    
Jeru Luke 01.09.2017 14:01
quelle