Kinect; ことはじめ
ラボのRAの仕事でKinectを使ったサンプルを作る事になった。とりあえず OpenKinect/libfreenect とか云うドライバーを使うと何かと便利そうなのでexamplesで動作確認などしてみる。
開発環境はいつも通り archlinux 。ラボで支給されているPCは
- model name: Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
- MemTotal: 4053088 kB
- Linux LH-LAB1 3.3.6-1-ARCH #1 SMP PREEMPT Sun May 13 10:52:32 CEST 2012 x86_64 GNU/Linux
てなSPEC。
test webcam
OpenKinectを試す前に最近のLinuxではカーネルにKinectのドライバーが組み込まれたらしくwebcamとしてふつーに扱えてしまうらしいので、Kinectを接続してCheeseを起動してみるとあっさりwebcamとして使えた。
OpenKinect/libfreenect 導入
archlinuxならAURにパッケージがあるので簡単。
# yaourt libfreenect-audio-git
但し、このパッケージはデフォルトで/usrへインストールを試みるので必要に応じてPKGBUILDを弄ると良いだろう・w・;
libfreenect/examples
- libfreenect/examples at master · OpenKinect/libfreenect · GitHub
- libfreenect/wrappers/cpp at master · OpenKinect/libfreenect · GitHub
AURからlibfreenect-audio-gitパッケージを導入するとデフォルトではサンプルも全て/usr/binに放り込まれる。実際に試してみたところ(ドキュメントを読んだわけではない)、
- examples
- glpclview // 推定したdepthに基づいて面を3次元描画するおもちゃ
- glview // IR-cam/RGB-cam/tilt/LEDを制御するおもちゃ
- hiview // IR-camの大きな像を確認できるおもちゃ
- micview // 左右のマイクロフォン計4chをモニターするおもちゃ
- regtest // (試してないから知らん・w・)
- regview // 推定したdepthから前景を推定するおもちゃ
- wrapper/cpp
- cppview // glviewのC++ wrapper版
といったところだろうか。
Screen shots
cppview
micview
glpclview
regview
さて、
とりあえず cppview のソースとC++ラッパーを中心にライブラリーのソースとドキュメントの確認を進めるとしよう。