En dessinant un rectangle autour de tous les contours dans OpenCV Python

j'ai un code qui identifie les contours après l'application de filtres sur des images vidéo. Maintenant, dans mon cas je reçois 3 contours et je leur montre par dessiner des rectangles autour d'eux, ce que je veux faire est de dessiner un rectangle autour de tous ces 3 contour de rectangles. comme il sera d'un grand rectangle contenant de 3 détecté des rectangles.
Voici mon code simple de détecter et de dessiner des rectangles autour des contours.

im2, contours, hierarchy = cv2.findContours(canny_img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)

try: hierarchy = hierarchy[0]
except: hierarchy = []

# computes the bounding box for the contour, and draws it on the frame,
for contour, hier in zip(contours, hierarchy):
    (x,y,w,h) = cv2.boundingRect(contour)
    if w > 80 and h > 80:
            cv2.rectangle(frame, (x,y), (x+w,y+h), (255, 0, 0), 2)

cv2.imshow('Motion Detector',frame)
  • Qu'avez-vous essayé? Prenez un morceau de papier et de dessiner soi-même et penser à propos de l'algorithme utilisé.
  • Avez-vous essayez de créer un ensemble de points à partir de tous les contours et de calculer la boundingRect sur ce jeu? Peut-être que cela fonctionne.
InformationsquelleAutor Moeed Kundi | 2016-10-23