« 2009年11月 | メイン | 2010年1月 »

WEBCAMで動体検知やってみた

にもやったことのある動体検知ですが、認識率悪かったり最適化できてなかったりと改善点あったので、もっかいやってみた。


動体検知して何しようと思い、最初は動いた部分だけパーティクルで崩れるようにしてたのですが、いまいち良い表現にならず、流行りのみかんを出してみることにしました。
虫みたいできもい。

以下は備忘録的なメモです。

・カメラ映像はデフォルトだと左右反転してしまう
これだとちょっと気持ち悪いので、Matrixを使って鏡みたいに反転させた。
まずscaleを-1倍して左右を反転。そして、対象のビットマップの幅分をx方向に移動させてやればOK。

・動体検知
要は、1フレーム前の映像と現在の映像の差異をBlendMode.DIFFERENCEで調べて、動きがあった部分のピクセルを0xFFFFFFFFで表示。
0xFFFFFFFFで表示されたピクセル情報を_particleListに格納してパーティクルを発生させている。

動体検知の映像は表示されずに、裏で処理してるので、見たい場合は_oldBmdをaddChildしてやれば見れます。

動体検知部分のソースがこちら。
色々な方のソースを参考にしているので、他にもいぱい方法はあるはず! と、2009年も残すところあと3日!!
よいお年を!!


来年はもっとブログ更新するようにしよ。





2009年12月28日 10:41

音とパーティクルを連動させてみる

久々にWonderflしました。
今回は音とパーティクル連動の勉強です。

本当はマウスホイールで早送り・巻き戻しできる擬似DJアプリ(?)作ろうと思ったのですが、
音の概念が深く理解できず挫折・・・。
Flashでもっと簡単にSoundを扱えるようになってから挑戦します。

で、今回できたのがこれ。


以下個人的メモ。

・入力したテキストのビットマップへの変換
工夫点としては、入力した文字数に応じて、表示ビットマップ(パーティクル文字)の大きさを変えているところです。
単純に1文字の場合最大Scaleを50として、あとは入力文字数でScaleを割っているだけです。
あと、色々な方のソースを見て勉強になったのが、ビット演算(ビット単位シフト演算)。
 (STAGE_WIDTH - tf.width * matScale) >> 1は (STAGE_WIDTH - tf.width * matScale) /2と同意。
つまりx >> y は x / (2^y)ということです。
詳しくはこちら

・波形データをパーティクルの動きに変換
結論から言うと、上記ソースでは理想の動きが出ませんでした。
パーティクルの動きをよく見ると分かるのですが、右上と左下にパーティクルが散りません。
setX、setYの式が要調整です。時間見つけてやってみます。

あと、colorTransformの挙動がよくわかりませんでした。
パラメータはトライ&エラーでチェックしながらやってるので、いい加減です。
なによりOKボタン押しまくるとfpsがどんどん落ちてくので、最適化しなきゃなんですが、
知識不足でできませんでした。
まぁ、今後の課題として・・・。

あ、159行目のコメント「// テキストが未入力の場合は"文字を入力してください"を表示」は
「// テキストが未入力の場合は"Wonderfl"を表示」の間違いです。スミマセン>誰。

  2009年12月11日 00:44

ブログをiPhone用に最適化してみた。

めちゃくちゃ簡単だったので、「iPhoneテンプレートfor MT」ってのを使ってブログをiPhone用に最適化してみた。
導入方法はダウンロードファイル内の「readme.txt」に最高に詳しく書かれています。

これが導入後のブログトップ。

IMG_0515.PNG


これが記事ページ。

IMG_0516.PNG

唯一惜しいのが、iPhoneからのアクセスを自動判別している訳ではないので、
直接iPhone用のURLを見る必要がある。
URLはこれ。
http://mattodesign.com/blog/i/
(ユーザーエージェントをサーバで判断すればいけるんだろうか?)


2009年12月 1日 17:35