カメラからの映像を BitmapData に draw し、
getPixel したピクセルに隣接するピクセルとの明度差を判定して
ある一定の明度差を検出した場合に着色するという手法です。
こんな感じになりました(ウェブカメラ必須)。
[SWF]/blog/wp-content/uploads/2011/03/extractOutlines.swf, 320, 240[/SWF]
取り込んだ映像から直接輪郭抽出を行うより、
一度、映像を白黒二値化してからの方がキレイに輪郭を抽出できました。
本当は Youtube の動画に対して処理を行いたかったのですが、
crossdomain.xml の関係でセキュリティサンドボックスエラーが連発。
ローカルだと大丈夫なんですが、サーバにアップするとやっぱりダメ…。
強引に proxy をかませて挑戦もしましたがうまくいかず…。
ということで youtube は諦めて、カメラからの映像に対して処理を行いました。