Was ist der beste Weg, um die Ecken einer Rechnung / Quittung / eines Blattes Papier auf einem Foto zu erkennen? Dies ist für die nachfolgende perspektivische Korrektur vor der OCR zu verwenden.
Mein aktueller Ansatz war:
RGB> Grau> Canny Edge Detection mit Schwellenwert> Dilatieren (1)> Kleine Objekte entfernen (6)> Grenzobjekte löschen> Größeres Blog basierend auf konvexem Bereich auswählen. > [Eckenerkennung - Nicht implementiert]
Ich kann nicht anders, als zu glauben, dass es einen robusteren „intelligenten“ / statistischen Ansatz geben muss, um diese Art der Segmentierung zu handhaben. Ich habe nicht viele Trainingsbeispiele, aber ich könnte wahrscheinlich 100 Bilder zusammen bekommen.
Breiteren Kontext:
Ich verwende Matlab als Prototyp und plane, das System in OpenCV und Tesserect-OCR zu implementieren. Dies ist das erste einer Reihe von Bildverarbeitungsproblemen, die ich für diese spezielle Anwendung lösen muss. Daher möchte ich meine eigene Lösung entwickeln und mich erneut mit Bildverarbeitungsalgorithmen vertraut machen.
Hier sind einige Beispielbilder, die der Algorithmus verarbeiten soll: Wenn Sie die Herausforderung annehmen möchten, finden Sie die großen Bilder unter http://madteckhead.com/tmp
(Quelle: madteckhead.com )
(Quelle: madteckhead.com )
(Quelle: madteckhead.com )
(Quelle: madteckhead.com )
Im besten Fall ergibt dies:
(Quelle: madteckhead.com )
(Quelle: madteckhead.com )
(Quelle: madteckhead.com )
In anderen Fällen schlägt es jedoch leicht fehl:
(Quelle: madteckhead.com )
(Quelle: madteckhead.com )
(Quelle: madteckhead.com )
Vielen Dank im Voraus für all die tollen Ideen! Ich liebe so!
EDIT: Hough Transform Fortschritt
F: Welcher Algorithmus würde die Hough-Linien gruppieren, um Ecken zu finden? Nach den Ratschlägen der Antworten konnte ich die Hough-Transformation verwenden, Linien auswählen und filtern. Mein aktueller Ansatz ist ziemlich grob. Ich bin davon ausgegangen, dass die Rechnung immer weniger als 15 Grad vom Bild entfernt ist. Wenn dies der Fall ist, erhalte ich vernünftige Ergebnisse für Zeilen (siehe unten). Ich bin mir jedoch nicht ganz sicher, welcher Algorithmus geeignet ist, um die Linien zu gruppieren (oder abzustimmen), um sie für die Ecken zu extrapolieren. Die Hough-Linien sind nicht durchgehend. Und in den verrauschten Bildern können parallele Linien vorhanden sein, sodass eine gewisse Form oder Entfernung von den Linienursprungsmetriken erforderlich ist. Irgendwelche Ideen?
(Quelle: madteckhead.com )