先日、ロジクール ウェブカムプロ 9000 QCAM-200SXを購入したので、以前からカメラを手に入れたらやってみたかった「笑い男ツール」を作ってみました。カメラ映像から人間の顔の部分を認識して、笑い男のロゴで顔を覆います。
使い方
[Intercepter]…顔部分に笑い男ロゴを表示する
[Box]…顔部分に矩形を表示する
[Snapshot]…表示されている画面のスナップショットを撮ります
※USBカメラがないと使用出来ません。
※キャプチャボードを使っていると、キャプチャボードがカメラとして認識されてしまいます。(ソース中のカメラのインデックス番号を変更することで解決されます)
※上の写真はAVIファイルを読み込んで、スナップ写真を撮ったものです。
以下、実行ファイルとDelphiで書いたソースです。
顔認識には、デフォルトのOpenCV認識の「haarcascade_frontalface_alt.xml」を使っていますが、背景にごちゃごちゃしたものさえなければ、遊びツールとしては結構な精度で顔の認識をしてくれます。
ただ元々、カメラを買った目的は、手を使わず、顔の表情や目、口の開閉でパソコン操作できないものか?というものでした。しかし、いろいろと試してはみたのですが、パソコンの操作のような確実性を求められる動作をさせるには、デフォルトのOpenCVの認識と僕の能力では、実用たりうるものを作るには、まだまだほど遠かったです。OpenCVの認識機能にもっと学習させ、自分自身も、もっとOpenCVの関数を理解し、数学の知識も付けないと厳しそうです。
笑い男ツールは他にも色々な方が作っておられます。
工学ナビ - 攻殻機動隊ネタ
2005-09-22 - 某ソフト作者の開発日記
「笑い男模倣ツール」の模倣ツール | 王様の箱庭
関連:WebカメラでPCに視覚を持たす「Logicool Webcam Pro 9000 QCAM-200SX」
関連:Webカメラ追加発注「Logicool Webcam C500」
関連:【アニメ】攻殻機動隊 STAND ALONE COMPLEX