Je viens d'écrire un petit programme qui recherche les contours dans une image binaire colorée seuillée qui est traitée avec canny après seuillage, mais trouve toujours deux contours pour chaque objet dans l'image.OpenCV findContours trouve toujours deux contours pour chaque objet
Dans l'image en bas à droite où sont dessinés les contours trouvés, vous pouvez voir que le plus grand contour est dessiné deux fois avec un léger décalage entre les deux contours. L'image suivante montre une vue détaillée de cette image.
http://img831.imageshack.us/img831/3641/doubleframe2.png
Voici juste le plus grand contour est dessiné deux fois, mais il arrive au hasard pour chaque autre des contours. Je veux juste un contour pour chaque objet, comment puis-je y parvenir? :/
Mise à jour:
La taille du vecteur de contours qui est rempli par la méthode findContours a une taille de 8 où il devrait avoir une taille de seulement 4.
mise à jour 2:
est ici l'image ďentrée du kinect http://img405.imageshack.us/img405/9761/inputimage.jpg pour la couleur Seuil i utilisé l'approche suivante
cv::cvtColor(in, out, CV_BGR2HSV);
cv::inRange(out,
cv::Scalar(25, 131, 97),
cv::Scalar(35, 220, 217),
out);
suivie d'une érosion + dilatation avec un élément rect avec une taille de 1.
veuillez fournir le lien pour l'image originale. –
fait. J'ai dû enlever l'image du programme parce que je suis capable de publier seulement 2 liens: /. –
pourquoi êtes-vous allé pour canny avant de trouver des contours? pourquoi ne pas trouver directement les contours sur l'image seuillée? –