Linien erkennen Opencv im Objekt

9

Ich habe das Bild unten. Ich möchte die Linie erkennen, die dieses Objekt in zwei Teile teilt. Was ist der beste Weg? Ich habe es mit der Hough-Transformation versucht, aber manchmal ist das Objekt nicht groß genug, um es zu erkennen. Irgendwelche Ideas?

Danke!

    
Luis Carlos 06.01.2013, 16:28
quelle

1 Antwort

25

Normalerweise wird die Hough-Transformation für die Zeilenerkennung verwendet.

Aber wenn es für Sie nicht funktioniert, ist passende Zeile auch eine gute Alternative.

Überprüfen Sie OpenCV fitline Funktion für weitere Details und Parameter.

Da Sie bereits Hough-Zeilen ausprobiert haben, demonstriere ich hier die passende Zeile mit OpenCV-Python:

%Vor%

Unten ist das Ergebnis, das ich bekommen habe:

BEARBEITEN:

Wenn Sie die Linie finden wollen, um das Objekt in zwei Teile zu teilen, suchen Sie zuerst die passende Linie und suchen Sie dann die Linie normal dazu.

Fügen Sie dazu unterhalb der cv2.fitLine () -Funktion folgendes Codeelement hinzu:

%Vor%

Und unten sind die Ergebnisse, die ich bekommen habe:

Hoffe es hilft !!!

UPDATE:

Unten ist der C ++ - Code für den Python-Code des ersten Falles, wie Sie ihn angefordert haben. Der Code funktioniert gut für mich. Die Ausgabe erfolgt wie oben angegeben:

%Vor%     
Abid Rahman K 07.01.2013, 08:58
quelle

Tags und Links