FLASH 8 : threshold() >> Motion detection...
Par jeanphilippe, dimanche 16 octobre 2005 à 17:20 :: Flash 8 :: #163 :: rss
Voici une version plus optimisée d'utilisation de getPixel() pour faire de la détection de mouvement.
Le principe est simple : il faut utiliser la méthode draw() pour comparer le flux de la caméra avec sa copie.
Le filtre threshold nous permettra de griller l'image au noir et blanc et ainsi capter plus précisément les mouvements.
Exemple :
Le code :
Le filtre threshold nous permettra de griller l'image au noir et blanc et ainsi capter plus précisément les mouvements.
Exemple :
Le code :
import flash.display.*;
import flash.geom.*;
///////
cam = Camera.get();
vid.attachVideo(cam);
///////
now = new BitmapData(cam.width, cam.height);
before = new BitmapData(cam.width, cam.height);
rect = new Rectangle(0, 0, cam.width, cam.height);
pt = new Point(0, 0);
/////////
_onEnterFrame = function () {
if (!cam.muted) {
now.draw(vid);
//compare l'image actuelle avec l'image de la derniere frame
//utilise le mode 'difference' pour l'effet inversé
now.draw(before, new Matrix(), new ColorTransform(), 'difference');
// remplace le gris par du blanc en grillant l'image
now.threshold(now, rect, pt, '>', 0xff111111, 0xffffffff);
//dessine l'image actuelle de la camera pour la comprarer avec la prochaine
before.draw(vid);
var val = now.getPixel(impact._x, impact._y);
//trace(val);
if (val>10000000) {
tt.text = "Le point rouge a été touché !";
impact._alpha = 20;
my_sound.start();v
} else {
impact._alpha = 100;
tt.text = "...";
}
}
};
inter = setInterval(this, "_onEnterFrame", 50);
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(now, 10);
mc._visible = false;
mc._x = 160;
this.attachMovie("impact", "impact", this.getNextHighestDepth(), {_x:10, _y:10});
var my_sound:Sound = new Sound(this);
my_sound.attachSound("bip");
my_sound.setVolume(10);
this.onMouseDown = function() {
mc._visible = !mc._visible;
};
Commentaires
1. Le dimanche 16 octobre 2005 à 17:56, par ekameleon
2. Le dimanche 16 octobre 2005 à 18:00, par jeanphilippe
3. Le dimanche 16 octobre 2005 à 19:05, par jeanphilippe
4. Le dimanche 16 octobre 2005 à 20:43, par ekameleon
5. Le vendredi 21 octobre 2005 à 18:00, par Ace
6. Le vendredi 21 octobre 2005 à 19:49, par jeanphilippe
7. Le dimanche 23 octobre 2005 à 19:03, par jeanphilippe
8. Le jeudi 1 décembre 2005 à 01:26, par ygardens
9. Le jeudi 1 décembre 2005 à 01:30, par ygardens
10. Le vendredi 2 décembre 2005 à 11:05, par ygardens
11. Le vendredi 2 décembre 2005 à 12:12, par jeanphilippe
12. Le lundi 5 décembre 2005 à 13:57, par ygardens
13. Le lundi 5 décembre 2005 à 14:41, par jeanphilippe
14. Le jeudi 8 décembre 2005 à 19:10, par fresh_man
15. Le jeudi 8 décembre 2005 à 19:57, par jeanphilippe
16. Le vendredi 9 décembre 2005 à 02:12, par fresh_man
17. Le vendredi 9 décembre 2005 à 02:19, par fresh_man
18. Le vendredi 9 décembre 2005 à 02:43, par fresh_man
19. Le vendredi 9 décembre 2005 à 04:54, par jeanphilippe
20. Le vendredi 9 décembre 2005 à 08:48, par fresh_man
21. Le dimanche 11 décembre 2005 à 03:31, par John
22. Le jeudi 15 décembre 2005 à 04:25, par Nicole
23. Le jeudi 15 décembre 2005 à 07:03, par jeanphilippe
24. Le jeudi 15 décembre 2005 à 07:54, par Nicole
25. Le jeudi 15 décembre 2005 à 09:08, par jeanphilippe
26. Le vendredi 30 décembre 2005 à 19:35, par newmovieclip
27. Le dimanche 12 février 2006 à 21:44, par vincent
28. Le vendredi 3 mars 2006 à 10:02, par ygardens
29. Le vendredi 3 mars 2006 à 12:34, par jeanphilippe
30. Le samedi 4 mars 2006 à 21:17, par ygardens
31. Le samedi 4 mars 2006 à 22:37, par ygardens
32. Le dimanche 5 mars 2006 à 11:18, par jeanphilippe
33. Le mardi 4 avril 2006 à 16:48, par BP
34. Le mardi 4 avril 2006 à 16:52, par BP
35. Le mardi 29 août 2006 à 10:16, par starfish
36. Le mercredi 11 octobre 2006 à 20:07, par tmator
37. Le dimanche 26 novembre 2006 à 11:53, par nico419
38. Le lundi 8 janvier 2007 à 19:05, par firerm
39. Le jeudi 25 janvier 2007 à 11:38, par Fernandox
40. Le jeudi 25 janvier 2007 à 12:57, par jeanphilippe
41. Le lundi 19 février 2007 à 22:23, par JoJo
42. Le vendredi 11 mai 2007 à 18:50, par Guillaume
43. Le vendredi 11 mai 2007 à 20:29, par jeanphilippe
44. Le mardi 9 octobre 2007 à 23:51, par klem
45. Le mercredi 10 octobre 2007 à 05:43, par jeanphilippe
46. Le mardi 16 octobre 2007 à 12:48, par klem
47. Le mardi 16 octobre 2007 à 12:51, par klem
48. Le jeudi 10 janvier 2008 à 17:41, par ViperPort
49. Le jeudi 10 janvier 2008 à 18:10, par jeanphilippe
50. Le mercredi 6 février 2008 à 21:58, par netti
51. Le vendredi 22 février 2008 à 21:26, par MrBark
52. Le dimanche 9 mars 2008 à 13:31, par Bolo
53. Le lundi 21 avril 2008 à 07:23, par karen
54. Le lundi 3 novembre 2008 à 15:28, par Mick
55. Le lundi 16 mars 2009 à 23:49, par Silva
56. Le mercredi 18 mars 2009 à 11:11, par yanisliadon
57. Le mercredi 14 juillet 2010 à 08:51, par thailand
Ajouter un commentaire