U⁄A LABO

RSS

SEARCH

AUTHOR

  • KNOCKKNOCK (10件)小遣い2万円のフラッシュデベロッパー。
    帰りが遅いのにキレる嫁をだましだまし制作中・・・。

  • TAKAIW (13件)フラッシュデベロッパー。遊びでゲームを作るのも好きです。外見に似合わないイラストを描くのも好きです。とにかく作るのが好きです。

  • CHIKATHREESIX (8件)メタル界のフラッシュデベロッパー。またある時はメタルギタリスト。オーサリング中もヘッドバンギングは絶やさない。

  • YANBOU (6件)犬と猫で、家が毎日運動会のフラッシュデベロッパー。
    ビールから発泡酒へ変更で節約中。

  • AKUZE (2件)2003年からユナイティアに寄生しているフラッシュデベロッパー。
    シルクドソレイユとカナダが好き。

  • DECO-DEKAI (1件)ビートダウンパートでご飯何杯も食べられます。
    ハードコア・テクニカルディレクターを目指して日々精進。

CATEGORY

HOME  >  動体検知その1

2009.04.10 CHIKATHREESIX

動体検知その1

こんにちは、こないだミスチルのライブに行ってきたメタラーのchikathreesixです。

Flashでウェブカメラ使って動体検知ってもうみなさんよくやられていますが、
自分は挑戦したことなかったので、一から挑戦してみようと思います!

basculeさんのエントリをかなり参考にさせてもらって勉強します。
http://faces.bascule.co.jp/motiondetection/


動体検知の基本として以下の手順を試してみます。

① カメラからの映像をマイフレームでBitmapDataでdrawして、直前のBitmapDataをさらにBlendMode.DIFFERENCEでdrawします。

② ①によってできたBitmapDataを閾値を設定し二値化します。(閾値以下の色は黒に、閾値以上の色は白にします)

③ 白で描画された部分が動いた部分です。

ENTER_FRAMEで実行する関数は以下のような感じです。

private function _enterFrameAction(e:Event):void {
	_nowBmp.draw(_nextBmp);
	_nowBmp.draw(_video, null, null, BlendMode.DIFFERENCE);
	_nextBmp.draw(_video);
	
			
	_nowBmp.threshold(_nowBmp, _rect, _point, "<=", 0xFF333333, 0xFF000000);
	_nowBmp.threshold(_nowBmp, _rect, _point, "!=", 0xFF000000, 0xFFFFFFFF);
}
swfはこんな感じ(要ウェブカメラ)

最初の一歩はとても簡単でした。
これからどんどん発展させていきます!
CATEGORY