FLASH 8 : threshold()+caméra détourage en live...
Par jeanphilippe, dimanche 16 octobre 2005 à 14:47 :: Flash 8 :: #162 :: rss
Voici un travail sans prétention sur comment détourer un flux video.
J'ai choisi dans cet exemple de convertir mon flux video en niveaux de gris, puis de changer une valeur de gris par du transparent.
J'ai choisi dans cet exemple de convertir mon flux video en niveaux de gris, puis de changer une valeur de gris par du transparent.
Cette application verrait tout son interet lors d'une publication d'un flux video sur fond uni.
On pourrait ainsi remplacer le fond par une valeur alpha (transparente).
Exemple :
Le code :
Comme vous pourrez le constater, ce code est juste un exemple simple... libre à vous de l'adapter !
On pourrait ainsi remplacer le fond par une valeur alpha (transparente).
Exemple :
Le code :
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
///////
cam = Camera.get();
vid.attachVideo(cam);
///////
now = new BitmapData(cam.width, cam.height);
rect = new Rectangle(0, 0, cam.width, cam.height);
pt = new Point(0, 0);
///////////
var rwgt:Number = .3086;
var gwgt:Number = .6094;
var bwgt:Number = .0820;
var color:Number = 0xff999999;
/////////
_onEnterFrame = function () {
if (!cam.muted) {
now.draw(vid);
//remplace le gris par alpha (transparent)
now.threshold(now, rect, pt, '>=', color, 0x00000000);
//transforme le flux video en niveaux de gris
mc.filters = [luminanceTransform];
}
};
inter = setInterval(this, "_onEnterFrame", 50);
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(now, 10);
var luminanceTransform:ColorMatrixFilter = new ColorMatrixFilter(new Array(rwgt, gwgt, bwgt, 0.0, 0.0, rwgt, gwgt, bwgt, 0.0, 0.0, rwgt, gwgt, bwgt, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0));
Comme vous pourrez le constater, ce code est juste un exemple simple... libre à vous de l'adapter !
Commentaires
1. Le lundi 17 octobre 2005 à 01:15, par bolo
2. Le lundi 17 octobre 2005 à 07:56, par jeanphilippe
3. Le lundi 17 octobre 2005 à 11:52, par halleck
4. Le lundi 17 octobre 2005 à 12:49, par bolo
5. Le lundi 17 octobre 2005 à 13:34, par jeanphilippe
6. Le lundi 17 octobre 2005 à 15:28, par bolo
7. Le jeudi 2 novembre 2006 à 21:11, par Bolo
8. Le samedi 27 octobre 2007 à 18:55, par rem001
9. Le mardi 8 avril 2008 à 19:26, par shaperlipopette
Ajouter un commentaire