ROSからOpenNIを利用するには以下を参考にインストールしましょう。
Ubuntu 10.04, cturtleを前提とします。
http://www.ros.org/wiki/ni
$ echo "- git: {local-name: ni, uri: 'https://github.com/ros-pkg-git/ni.git', version: master}" > /tmp/ni.ri
$ rosinstall ~/ni /opt/ros/cturtle /tmp/ni.ri
$ source ~/ni/setup.sh
$ rosmake ni --rosdep-install
$ sudo cp `rospack find ps_engine`/install/55-primesense-usb.rules /etc/udev/rules.d/
そしてリブートしましょう。
これでインストール終了。
試すには
$ roslaunch openni_camera openni_kinect.launch
$ rosrun rviz rviz
して、
Fixed FrameとTarget Frameを/openni_depthにして、
Point Cloud2として、
/camera/depth/points2を指定すると
rviz上で3D色付きイメージが見れます。ぐりぐり動かせます。
人物抽出サンプルを実行するには
export XN_SENSOR_VENDOR_ID=0x045E
export XN_SENSOR_PRODUCT_ID=0x02AE
export XN_HOST_PROTOCOL_ALGORITHM_REGISTRATION=0x40
rosrun openni Sample-NiUserTracker
とします。
http://www.ros.org/wiki/nite
のドキュメントには64bitのみ対応と書いてありますが、
すでにソースはちゃんと対応してあるので、x86(32bit)でも普通に実行できます。
動画はgtk-recordmydesktopですべてのフレームをキャプチャするオプションをONにしてとりました。
エンコードは
$ mencoder out.ogv -oac mp3lame -ovc lavc -lavcopts vcodec=mpeg4 -o output.mp4
という感じ。