Hallo!
Bin zufrieden mit der Funktion findContours()
und möchte das Ergebnis direkt weiterverarbeiten.
In allen gefundenen Beispielen wird die Funktion drawContours() empfohlen
mit der nachfolgendem Pixel-Selektion mit np.where .
Da ich jede gefundenene Kontur separat weiterbearbeiten möchte,
erscheint mir das np.where im großen Image zu aufwendig.
Kennt ihr eine Möglichkeit, die in der Kontur betroffenen Pixel-Koordinaten
direkt aus dem Array zu ermitteln, welches findContours() zurückliefert?
Mich in den Code von cvDrawContours ist für mich eine Doktorarbeit.
( https://github.com/opencv/opencv/blob/m ... rawing.cpp )
Danke für Eure Tipps
Erhy
Interpretation des cv2 findContours Arrays
DIeses Snippet per Google gefunden:
Damit sollte doch wohl alles klar sein.
Code: Alles auswählen
contours, hierarchy = cv2.findContours(.....)
for contour in contours:
x, y, width, height = cv2.boundingRect(contour)
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Laut https://docs.opencv.org/3.4/d3/dc0/grou ... 8403e1689a gibt es drei Rückgabewerte, von denen der mittlerer die Konturen darstellt. Als Liste von Listen von Punkten, eine wie ich finde sehr naheliegende Anordnung.