ユーザートラッキングによるデモを追加しました。
今回はユーザーごとに取得できるピクセルデータを元に映像を生成しています。
この動画、quickTimeを使ってmacの画面を直接キャプチャしてるんですが、openFrameworksのofxQTVideoSaverっていうアドオン使って録画するのが普通っぽいですね。
2013年9月4日水曜日
2013年9月1日日曜日
xtion demo(1)
xtion + OpenNI2 + openFrameworks
による、ユーザートラッキングのデモプログラムを作って見ました。
動画ではわかりにくですが、手のひらに連動して光が動きます。
による、ユーザートラッキングのデモプログラムを作って見ました。
【書籍】OpenNI 3Dセンサープログラミング
8月30日に知って31日に購入。
OpenNIの日本語情報は限られているので、こういう本が出版されるのは、ありがたい。
mac + openFrameworks + xtionで趣味をプログラムをしているが、この本にはバッチリ、同じ環境での環境構築方法が載っているので、そっちを参照した方が良いと思う。
巻末にOpenNI2、NiTE2のリファレンスも載っている。
公式のプログラマーズガイドを見れば良いんだけど、英語が得意でない人間としては日本語でのリファレンスの方がやっぱり理解しやすいな、と思った。
ちなみにPrimeSense社のcarmineはこの本読んで初めて知った。
認識距離がcarmine1.09では0.35mってのは魅力的で心惹かれた。
2013年8月21日水曜日
mac + xtion + openFrameworks(3)
なんとかxtionでちょっとしたデモを動作させることができた。
以下、動作させた時のメモ。
【環境】
以下、動作させた時のメモ。
【環境】
- MacBookPro Retina, Mid 2012 + osx(10.7.4 / Lion)
- Xtion Pro Live
- OpenNI2.2(Beta) + NiTE2.2(Beta)
- openFrameworks 0.8.0
【前提】
- openFrameworksは動作していること
- OpenNIとNiTEはダウンロード済みでサンプルデモが動作していること
【手順】
- openFrameworksのプロジェクトジェネレータで空のプロジェクトを作成。
- 新しいグループ、includeとlibsを作成
- 新しく作ったinculudeグループに${OpenNI2インストールディレクトリ}/Include以下の全ヘッダファイルをプロジェクトに追加。${NiTE2インストールディレクトリ}/include以下の全ヘッダファイルをプロジェクトに追加。
- 新しく作ったlibsグループに${OpenNI2インストールディレクトリ}/Redist以下の全ファイルを追加。${NiTE2インストールディレクトリ}/Redist以下の全ファイルをプロジェクトに追加。
- TARGETS -> Build Setting -> Search Paths -> Always Search User PathsをYesにする。
- TARGETS -> Build Phasesで Add Build Phase する。選択するのはAdd Copy Files。
- 追加したPhaseのDestinationを[ Executables ]にする。Subpathは空。ファイル一覧にOpenNI.ini,NiTE.ini,OpenNI2ディレクトリ,NiTE2ディレクトリを追加
- /usr/lib配下に${OpenNI2インストールディレクトリ}/Redist以下のダイナミックライブラリを全て移動。
- /usr/lib配下に${NiTE2インストールディレクトリ}/Redist以下のダイナミックライブラリを全て移動。
これでopenFrameworksからOpenNI2 SDKで用意されているAPIが叩けるようになった。
ただ手順の8〜9についてだけが実は今でも謎で、最初はCopy Filesにダイナミックライブラリとかも指定していたが、どうにも実行環境にコピーされないようで、実行する度に/usr/libにOpenNI2のライブラリがない、と怒られていた。
仕方なく/usr/libにライブラリを配置したら正しく動作した。
このやり方だと他の環境でOpenNI使った開発環境を作りたい時に上のような手順を踏まないといけないのがダサい。
個人的なopenFrameworksのaddonにしようと思っていたんで、うーん、って感じ。
一番の問題はxcodeへの理解不足なのは理解しているが。
2013年8月8日木曜日
memo : DalekJS
WebのUIテスティングフレームワークの進化が速い。
ちょっと前まではそういうのは、selenium一択ぐらいの勢いだったんだけど、
最近はPhantomJSとかCasperJSとかもいろんなブログで記事を見かけるようになって、
だいぶ事情が変わったように思う。
seleniumとPhantomJSを仕事に絡めて試したことはあるけど、感想は以下のとおり。
- selenium(web driver)は対応言語も多くて、手慣れた環境ですぐにテストできるのは正直、楽だけども、やっぱりブラウザを起動しちゃうんで正直、遅い。
- PhantomJSはヘッドレスブラウザでUIテストできる部分はスゴく良いけど、Qtのせいなのかなんなのか、妙な部分動作をすることがあって扱いづらかったのが本音。CasperJSから使うのが正解なんだろうな。
それで今日は偶然、DalekJSという、新しいUIテストフレームワークを知った。
これといった特徴はなさそうだけど、モダンなブラウザには対応しているし、スマフォ向けブラウザでも動作するし、インストールは簡単だし、テストの記述も簡潔っぽい。
今度、試してみよう。
http://dalekjs.com/index.html
JavaScriptの世界はここ数年、もの凄い勢いでいろんなライブラリが出てくるな・・・
JavaScriptの世界はここ数年、もの凄い勢いでいろんなライブラリが出てくるな・・・
2013年8月6日火曜日
mac + xtion + openFrameworks(2)
結局、ofxOpenNI2も実行すると、なぜかデバイスが見つからない、という意味合いのエラーメッセージが出て初期化処理で止まってしまった。
仕方がないので、それなりに情報が出回っているopenNI1.5とNITEの組み合わせで試してみようと思う。
とりあえず、OpenNI1.5のサンプルとNITEのサンプルは動作した。
仕方がないので、それなりに情報が出回っているopenNI1.5とNITEの組み合わせで試してみようと思う。
とりあえず、OpenNI1.5のサンプルとNITEのサンプルは動作した。
2013年8月5日月曜日
mac + xtion + openFrameworks
今更ながら、kinect hackをやろうと思って始めたが、開発環境を構築する部分が難しい。
環境は以下のとおり。
mac osx(10.7 Lion)
xtion + openFrameworks 0.7.4 + OpenNI2
アドオンでofxOpenNIを使ってみたが、どうやらkinect専用らしく、openFrameworksからはうまく認識してくれない。
ターミナルからOpenNI2のサンプルは正常に動作しているんで何か方法はあるハズだが・・・
明日はofxOpenNI2を試してみよう。
ダメならもうアドオンは諦めてOpenNIをopenFrameworksから直叩きするしかない。
登録:
投稿 (Atom)