Bonjour à tous,

Je souhaite réaliser une application qui n'affichera que les personnes en mouvement (par dessus le background), ou seulement les parties en mouvement de leur corps. C'est à dire que si une personne ne bouge pas, elle ne sera pas affichée et seul le background sera visible.

Pour cela, je pense procéder par étapes et je voudrais savoir si celles ci sont bonnes et si possible les fonctions à utiliser dans OpenCv afin de les mettre en place :

1
Traquer le mouvement afin de créer un masque sur les objets en mouvement (à la manière de cette vidéo où on voit bien que dès que la personne avec le pull rose s'arrête, elle n'est plus encadrée).

2
à partir de ce masque, découper les contours précis de la personne comme sur cette vidéo afin de ne pas afficher les personnes qui ne bougent pas et qui sont quand même dans le masque obtenu à l'étape 1 (cf cette magnifique image où on voit qu'il ne faut pas afficher la tête ni les pieds du personnage rouge même s'ils sont dans le masque). Voici une vidéo complémentaire où on voit les contours de la personne comme je voudrais les avoir.

3
blitter le masque obtenu sur une "photo" du background et afficher le tout.

Après quelques recherches, j'ai trouvé un indice :
-> Calculer le flot optique de l'image.
-> Obtenir le champ de mouvement.
-> Repérer les "composantes connexes" (objets d'un seul bloc) qui ont relativement le même mouvement.
Contraintes techniques :
- la caméra sera dans une pièce très bien éclairée, sans scintillement, fond blanc (mais on voit parfois le sol)
- plusieurs personnes pourront bouger en même temps