Détection des coordonnées d'un mouvement partir d'une webcam
cs_AcarnanDragoon
Messages postés55Date d'inscriptionlundi 9 février 2009StatutMembreDernière intervention 3 octobre 2012
-
9 nov. 2009 à 12:19
cs_AcarnanDragoon
Messages postés55Date d'inscriptionlundi 9 février 2009StatutMembreDernière intervention 3 octobre 2012
-
13 nov. 2009 à 11:47
AcarnanDragoon
2 msg
3 msg CS
Bonjour à tous,
Voila je cherche à obtenir les coordonnées d'un mouvement filmé à partir d'un webcam en Flash. Pour, par exemple, placé des boutons sur la scène et que les personne puissent les activés en bougeant devant leur web cam.
Le code suivant me permet de détecter la valeur du mouvement, me l'indique dans une progressBar, et avec un numericStepper on peut modifier la sensibilité de la caméra :
Code ActionScript :
var my_cam:Camera = Camera.get();
var my_video:Video;
my_video.attachVideo(my_cam);
// configure the ProgressBar component instance
var motion_pb:mx.controls.ProgressBar;
motion_pb.mode = "manual";
motion_pb.label = "Motion: %3%%";
var motionLevel_lbl:mx.controls.Label;
// configure the NumericStepper component instance
var motionLevel_nstep:mx.controls.NumericStepper;
motionLevel_nstep.minimum = 0;
motionLevel_nstep.maximum = 100;
motionLevel_nstep.stepSize = 5;
motionLevel_nstep.value = my_cam.motionLevel;
// Continuously update the progress of the ProgressBar component instance to the activityLevel
// of the current Camera instance, which is defined in my_cam
this.onEnterFrame = function() {
motion_pb.setProgress(my_cam.activityLevel, 100);
};
// When the level of activity goes above or below the number defined in Camera.motionLevel,
// trigger the onActivity event handler.
my_cam.onActivity = function(isActive:Boolean) {
// If isActive equals true, set the themeColor variable to "haloGreen".
// Otherwise set the themeColor to "haloOrange".
var themeColor:String = (isActive) ? "haloGreen" : "haloOrange";
motion_pb.setStyle("themeColor", themeColor);
};
function changeMotionLevel() {
// Set the motionLevel property for my_cam Camera instance to the value of the NumericStepper
// component instance. Maintain the current motionTimeOut value of the my_cam Camera instance.
my_cam.setMotionLevel(motionLevel_nstep.value, my_cam.motionTimeOut);
}
motionLevel_nstep.addEventListener("change", changeMotionLevel);
Auriez vous une idée ? voir même une solution ?
Merci dans tout les cas et bonne journée !
A voir également:
Détection des coordonnées d'un mouvement partir d'une webcam
gremlins7
Messages postés380Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention28 décembre 2009 9 nov. 2009 à 12:44
Te rends tu compte à quel problème épineux tu t'attaques ? Si tu est seul sur ton projet, je pense que tu peux rapidement en avoir pour quelques mois (voire un an) avant que tu puisse détecter quoi que ce soit...
Je veux pas te décourager et je ne sais pas s'il existe des codes tout fait, mais une chose est sur : un algorithme de détection de mouvement efficace c'est pas simple !!! Renseigne toi sur l'existant, la détection de contours (sobel ou la transformée de hough) les méthodes de sous-traction à l'arrière plan, les chaines de markov : modélisation des interactions spatio-temporelles par un champ de Markov faisant intervenir trois images successives...
Autre problématique : ce genre d'algo nécessite une puissance de calcul énorme et sont généralement implantés dans des système à processeur dédiés comme les DSP (digital signal processor), donc je ne suis pas sur qu'au finish même si tu arrive à implanter ces algos que tu puisse faire une détection temps-reel.
A+
cs_AcarnanDragoon
Messages postés55Date d'inscriptionlundi 9 février 2009StatutMembreDernière intervention 3 octobre 2012 9 nov. 2009 à 12:48
J'ai vu des animations flash capable de dessiner des effets de flou ou de lumière en fonction du mouvement de la personne devan,t la webcam, il semblerait qu'il es dessiné un damier en superposition de la vidéo afin de détecter les mouvements. Je vais chercher dans ce sens mais merci quand même ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
gremlins7
Messages postés380Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention28 décembre 2009 9 nov. 2009 à 12:54
Oui donc c'est une méthode de soustraction à l'arrière plan, en gros : tu compare l'image de la webcam avec l'arrière plan.
Tiens nous au courant et bon courage.
cs_AcarnanDragoon
Messages postés55Date d'inscriptionlundi 9 février 2009StatutMembreDernière intervention 3 octobre 2012 9 nov. 2009 à 14:14
Justement auriez vous des pistes ou des exemples de code permettant de faire ça ? voir même un tuto ? parce que mes recherches ne sont guères fructueuse à l'heure actuelle...
gremlins7
Messages postés380Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention28 décembre 2009 9 nov. 2009 à 14:53
Ben j'ai pas tellement de tutos sur le sujet, le mieux c'est que tu fasse une recherche avec les bons mots clés !!! Mais c'est le genre de cours que tu doit pouvoir trouver dans une section de licence info.