2016-06-13 19 views
0

i angelegt, um einen Canny-Kanten-Erkennung auf einem Bild und i erhalten als Ergebnis dieses BildCanny Erkennung in Python mit OpenCV

enter image description here

i die Koordinaten dieses zu erhalten, unter Verwendung von:

ans = [] 
for y in range(0, edges.shape[0]): 
    for x in range(0, edges.shape[1]): 
     if edge[y, x] != 0: 
      ans = ans + [[x, y]] 
ans = np.array(ans) 

aber ich möchte nur die Kontur dieser Form nicht was drin ist. Irgendeine Idee ? vielen Dank !

Antwort

2

Sie sollten versuchen, Hierarchie in der Kontur zu verwenden, um zu definieren, welche Eltern und welche Kind ist, und dann können Sie innerhalb der Hierarchie loopen und zeichnen nur die übergeordneten Konturen (oder die äußersten Konturen).

Zum Beispiel an diesem Bild einen Blick

enter image description here

Konturen 0, 1, 2 sind die äußersten Konturen oder wir können, sagt auch hierarchie 0, und dann Konturen 2a kommt, die ist Hierarchie-1 und dann Konturen 3, die Hierarchie-2 und so weiter.

Von hier aus können Sie bestimmen, wie tief Sie Ihre Hierarchie halten sollten.

Für weitere Referenz können Sie OpenCV Dokumentation here

überprüfen
Verwandte Themen