-
Détection de contours
Bonjour à tous,
Je suis actuellement dans un projet dont le but est de filmer une scène et lorsqu'un intrus arrive dans le champ d'une caméra, celui-ci doit se voir dans un décor tout à fait différent (image de fond).
N'ayant aucune connaissance approfondie en OpenCV, je ne comprends pas tout de ce qui est raconté sur les forums que j'ai pu visiter.
Pour réaliser ce projet, je me suis dit que le plus simple serait de récupérer le contour de la personne, puis l'intérieur de ce contour dans l'image de base pour la mettre sur un masque devant une image quelconque.
J'ai réussit à récupérer un contour plutôt net avec cvFindContours et cvDrawContours et j'ai un contour fermé de la personne.
Dû au changement de lumière, j'ai également quelques pixels sur mon image de contour et j'aimerais savoir s'il y aurait une technique afin de supprimer tous les pixels qui ne sont pas noirs (sauf le contour fermé que j'ai récupéré)
Egalement, je ne vois pas du tout comment récupérer l'intérieur de ce contour sur l'image de base. J'ai essayé avec la fonction cvFilter2D mais le problème c'est qu'il n'y a qu'une seule image en source, donc je ne sais pas comment configurer mon objet Mat...
Ainsi, si quelqu'un aurait une petite idée de comment faire, je suis preneur.
Je vous remercie pour toute l'aide que vous pourrez m'apporter.
A bientot,
Hourad
-
Je suis vraiment pas un expert en OpenCV, mais je me demande simplement pourquoi tu essayes d'utiliser les contours pour ça ?
Personnellement ce que je ferais à la place ce serait plutôt de faire la différence entre une image background (avec une élimination du bruit), ce qui permet de récupérer (entre autres) les pixels qui composent l'intrus. Ensuite, il suffit d'utiliser les pixels marqués "différents" pour les copier vers une image de fond différente. Y a t il qqchose que j'ai pas compris qui t'empeche d'utiliser cette technique ?
Edit : je précise que c'est ce qu'utilise n'importe quel soft style "photomaton" pour placer qqn dans un décors de plage paradisiaque alors qu'on est sur le point de prendre le métro à bastille.