Wie findet man die Ecken ein Rect-Objekt in openCV?

Ich bin mit openCV-Bibliothek auf der android-Plattform.
Ich habe erfolgreich erkannt, das größte Rechteck aus dem Bild aber da meine Anwendung wird verwendet für das Scannen Zwecke ,ich will die Perspektive ändern sowie Funktionalität.

Ich weiß,wie perspectiveTransform und warpPerspectiveTransform,aber dafür werde ich brauchen Ecken des Rechtecks für die Quell-Punkte.

Scheint es sehr leicht zu finden, die Ecken angesichts der Tatsache, wir haben die Koordinaten der ersten Ecke(Oben Links) und die Breite/Höhe im Zusammenhang mit der Rect-Objekt, aber das problem ist ,für ein gedrehtes Rechteck(übliche boundingRect aber Seiten, die nicht parallel zur Achse) ,diese Werte sind sehr unterschiedlich.In diesem Fall speichert die entsprechenden Werte eines anderen Rechtecks mit Seiten parallel zur Achse, und für den gedrehten Rechteck so, dass macht mich nicht in der Lage zu erkennen, die Ecken des eigentlichen Rechtecks.

Außerdem möchte ich einen Vergleich zwischen diesen beiden algorithmen zur Erkennung eines Blattes aus dem Bild.

  1. Canny-edge -> Größte Kontur -> größte Rechteck -> suchen-Ecken - > Perspektive ändern

  2. Canny-edge-> Hough-Linien -> Schnittpunkt der Zeilen -> Perspektive ändern

Die Sache, die ich möchte Fragen, ist gegeben, wenn wir ein Rect-Objekt ,wie man all die Ecken des Rechtecks ?

Vielen Dank im Voraus.

InformationsquelleAutor Ankur Gautam | 2014-01-13
Schreibe einen Kommentar