カメラを買わずにARToolkitで遊びたい!
ちょっと長いので、結論だけ知りたい方は次の記事を参照のこと。
- ニコニコ動画やYoutubeでARToolkitやPTAMといった技術を知った
- おもしろそう!ぼくもやってみたいよっ
- でもお金がないからカメラが変えないや……。
- デジカメやケータイでなら動画を撮影できるけど、これを生かす方法はないかな?
- 動画ファイルを読み込めたらデバッグにも便利だよね
という発想を経て、仮想ビデオキャプチャデバイスを探すことにしました。もちろんフリーソフトを探します。でないと本物のカメラを買った方が早いですから。
検索ワードとしてgoogle:仮想キャプチャデバイス]、[google:仮想WebCamを入力し、フリーソフトを探しました。
Virtual Desktop Camera for Skype
Skypeでデスクトップ画面のキャプチャを配信するツール。作者のホームページ:にゃにゃん.と » softwareからダウンロードできます。
インストールすると、Skypeでカメラが使えるようになる。Skypeを起動し「ツール」→「設定」→「ビデオ設定」と辿ると「Webカメラ:Nyanyan Desktop Filter」が追加されているはず。「Webカメラ設定」で キャプチャするデスクトップの範囲やフレームレートを設定できる。設定画面はSkype経由でしか表示できない?みたい。
NyARToolkitのサンプルプログラムで試した
NyARToolkitは、本家ARToolkitを参考にJavaやC#に移植したライブラリ。公式ページはhttp://nyatla.jp/nyartoolkit/wiki/index.php。作者のブログ:nyatla@hatena blogも参考になる。
とりあえず、仮想WebCamが動作するかどうかだけ確認したいので、サンプルプログラムをダウンロードする。ここでは、C#向けサンプルプログラム「Uma2Desktop」を試してみた。
実行結果
カメラの選択候補に「Nyanyan Desktop Filter:」が追加されている。選択してOKをクリックすると、
--------------------------- エラーが発生しました --------------------------- Uma2Desktopでエラーが発生しました。 オブジェクト参照がオブジェクト インスタンスに設定されていません。 --------------------------- OK ---------------------------
というエラーが出る。ぬるぽ。NyARToolkitCSUtils\Capture\CaptureDevice.cs
のSetConfigParms
内でぬるり。引数のpStill=null
なのが問題っぽいが、よくわからん。DirectShowの知識も皆無なので、どうしようもないorz
うまくいかなかった。
ManyCamを導入
ManyCamというソフトを導入してみた。ソースとして、デスクトップの任意領域、動画などを選択できます。またそのソースにエフェクトを付けたりという加工ができるようです。
上記のNyARToolkitのサンプルプログラムもManyCamで動作しました!
もうこれがあれば何があっても大丈夫です。
結論:ManyCam最強
ということです。