home > 投稿 > FlashPlayer8で動体検知
2005/12/06

FlashPlayer8で動体検知



Basculeサイトで利用するために、FlashPlayer8のBitmapDataの機能を使って、動体検知機能を作りました。動いていることを検知するだけでなく、同一のものが連続して動いていることを検知します。
(そういう意味では、これはMotionTrackingなのかもしれないと今思いました。)




仕組み

映像を毎フレームBitmapData.drawし、直前のビットマップと「差の絶対値」でブレンドし続けます。この時、黒以外の部分を動いた部分とみなします。 動いた部分の矩形が、前フレームに動いた矩形と重なっていた場合、同一の動体が動いているとみなします。

2つの動いているものが重なると、1つのものとみなされてしまったり、しばらく静止してまた動き出すと、別のものが動き出したとみなされてしまいます。 その辺の精度が上がるとうれしいのですが、僕のへぼい頭ではこれが限界でした。 こういうことやりたいなら、こうやればここまでできるぜ、的なものがあったら教えてください。

ソース

motionDetector.zip
適当に自由に使ってください。 機能や精度が上がったり、面白いのが出来たら教えてください。

参考

開発にあたって、psyark.jpさんの肌色検出のエントリーを参考にさせていただきました。 quasimondo.comさんの ColorMatrixを利用しています。 また、このエンジンの実装例が、BasculeサイトのHotNewsの部分でご覧になれます。人が通るまでちょっとだけ待ってみてください。

トラックバックURL

http://faces2.bascule.co.jp/mt/mt-tb.cgi/492

コメントを投稿

(コメントには承認が必要になることがあります。承認されるまではコメントは表示されません。)