Flashはすばやくデザインを形にするのに適している。けれども、画像処理の速さではCにかなわない。そこで、連携するデモを作ってみた。
画面の右側のPCではopenFrameworksで顔の位置、大きさを取得し、TCP/IPで左側のPC上のFlashに送って、赤い四角を描画している。
右側のPC
openFrameworks
TCPサーバー
カメラから入力された画像上の顔の位置、大きさを取得し、クライアントに対して値を投げる。
Haar 検出器の学習データはhaarcascade_frontalface_alt.xmlを使っている。
なんとなくよく認識してくれたような気がしたのと、Marilenaで使われてたから。
他にも学習データはいろいろあって、口、鼻、右目、上半身、下半身、手といったパーツのデータもある。
ただし複雑な形状の場合、やっぱり認識率は落ちる模様。
左側のPC
Flash
TCPクライアント
サーバーに接続をして、値を受け取り、赤い四角を描く。
参考
openFrameworks 応用編(3)
http://www.myu.ac.jp/~xkozima/lab/ofTutorial5.html
OpenCVのhaar-like特徴分類器の確認ツール
http://shokai.org/blog/archives/4757
sourceforgeのOpenCVのリポジトリ(学習データの取得先)
http://sourceforge.net/projects/opencvlibrary/
OpenCV向けのhand検出用のhaarcascade xmlファイル
http://iwaki2009.blogspot.jp/2012/09/opencvhandhaarcascade-xml.html