Seite 1 von 1

Interpretation des cv2 findContours Arrays

Verfasst: Sonntag 4. Juli 2021, 16:04
von Erhy
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

Re: Interpretation des cv2 findContours Arrays

Verfasst: Sonntag 4. Juli 2021, 16:10
von ThomasL
DIeses Snippet per Google gefunden:

Code: Alles auswählen

contours, hierarchy = cv2.findContours(.....)
for contour in contours:
    x, y, width, height = cv2.boundingRect(contour)
Damit sollte doch wohl alles klar sein.

Re: Interpretation des cv2 findContours Arrays

Verfasst: Sonntag 4. Juli 2021, 22:02
von __deets__
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.