openFrameworks+ofxKinect アドオンで Kinect の深度センサーを試す
前回のポスト で、Mac OS X の openFrameworks の開発環境ができました。
今度は、マイクロソフトの Kinect を使ってみます。
Kinect は、距離が測れる深度センサーが付いています。
単品で買うと USB 接続のアダプタが付いてくるので、Mac・Windows からも使えます。
openFrameworks 用のアドオンも登場していて、
https://github.com/ofTheo/ofxKinect
で公開されている ofxKinect アドオンで Kinect を使うことができます。
http://kawa.at.webry.info/201101/article_1.html
openFrameworks で Hello, world! してみる (Mac OS X)
http://kawa.at.webry.info/201101/article_2.html
openFrameworks+ofxKinect アドオンで Kinect の深度センサーを試す (※本記事)
http://kawa.at.webry.info/201101/article_3.html
openFrameworks+ofxiPhoneでiPhone・iPad用Hello, world!
https://github.com/ofTheo/ofxKinect/zipball/master から ZIP 形式で
ダウンロードすることもできますが、github なので clone してみます。
apps/kinect/ofxKinect というフォルダ構成にしてみます。
Xcode で ofxKinect.xcodeproj を開いて「ビルドと実行」をクリック。
下記のような画面が出れば、成功です。意外とカンタン!

左上が、深度センサーの画面。グレースケールで、距離を表します。
全てのピクセルの深度は取れない。距離が不明な死角があるので注意。
右上は、Kinect のウェブカメラの画面。
深度センサーと通常のウェブカメラは、画角がズレているのに注意。
左下は、2値化して OpenCV の findContours で画像認識させている結果。
(この例では、あんまりよくない)
キーボードの p とか w を押すと、画面が変わります。
カーソルの上下で、Kinect の仰角を操作できます。
これが、200行弱のソースコードで実装できてしまう。openFrameworks すごいな。
https://github.com/ofTheo/ofxKinect/raw/master/src/testApp.cpp
サンプルそのままだと距離がグレースケールになって、少し階調が分かりにくい。
試しに、距離を色相 (hue) に割り当ててみた。結構、細かく距離感が出てますね。

Kinect を使うと、LiveChromaKey みたいなことがより手軽にできそう。
openFrameworks は C++ なので、ActionScript より動作もかなり速そう。
今度は、マイクロソフトの Kinect を使ってみます。
Kinect は、距離が測れる深度センサーが付いています。
単品で買うと USB 接続のアダプタが付いてくるので、Mac・Windows からも使えます。
openFrameworks 用のアドオンも登場していて、
https://github.com/ofTheo/ofxKinect
で公開されている ofxKinect アドオンで Kinect を使うことができます。
関連記事
http://kawa.at.webry.info/201101/article_1.html
openFrameworks で Hello, world! してみる (Mac OS X)
http://kawa.at.webry.info/201101/article_2.html
openFrameworks+ofxKinect アドオンで Kinect の深度センサーを試す (※本記事)
http://kawa.at.webry.info/201101/article_3.html
openFrameworks+ofxiPhoneでiPhone・iPad用Hello, world!
1. ofxKinect をダウンロードする
https://github.com/ofTheo/ofxKinect/zipball/master から ZIP 形式で
ダウンロードすることもできますが、github なので clone してみます。
apps/kinect/ofxKinect というフォルダ構成にしてみます。
mkdir apps/kinect
cd apps/kinect
git clone https://github.com/ofTheo/ofxKinect.git
2. サンプルプログラムを実行する
Xcode で ofxKinect.xcodeproj を開いて「ビルドと実行」をクリック。
下記のような画面が出れば、成功です。意外とカンタン!

左上が、深度センサーの画面。グレースケールで、距離を表します。
全てのピクセルの深度は取れない。距離が不明な死角があるので注意。
右上は、Kinect のウェブカメラの画面。
深度センサーと通常のウェブカメラは、画角がズレているのに注意。
左下は、2値化して OpenCV の findContours で画像認識させている結果。
(この例では、あんまりよくない)
キーボードの p とか w を押すと、画面が変わります。
カーソルの上下で、Kinect の仰角を操作できます。
これが、200行弱のソースコードで実装できてしまう。openFrameworks すごいな。
https://github.com/ofTheo/ofxKinect/raw/master/src/testApp.cpp
3. 距離をカラーで表現してみる
サンプルそのままだと距離がグレースケールになって、少し階調が分かりにくい。
試しに、距離を色相 (hue) に割り当ててみた。結構、細かく距離感が出てますね。

Kinect を使うと、LiveChromaKey みたいなことがより手軽にできそう。
openFrameworks は C++ なので、ActionScript より動作もかなり速そう。
この記事へのコメント