Kinectの開発元がはじめたOpenNIプロジェクト。非常に今後の展開が楽しみなプロジェクトの一つです。ただ、残念ながらここで公開しているソースはWin or Ubuntu。Macはまだ対応していないようです。
Link: OpenNI
そんなところにMacにポーティングしている方(roxluさん)がいることを知りました。手順通りに進めてみるもののなかなかエラーがとれない。。。探したものの解決方法が見つかりませんでした。
Link: OpenNI and SensorKinect driver for Mac
Link: OpenNI
やっと解決したのが以下の手順です。やっと遊べる。。。と思いサンプルプログラムを動かしても骨格らしくものが表示されない。。。もう一度、roxluさんのブログを見てみると以下のように書かれていましたorz 待ちましょう。といってもここまでやってくれたroxluさんに感謝です。
Not all examples are working yet, as we need to get a NITE binary for Mac; so for now this means no skeleton information, yet.
■手順
※前提:macのターミナルを立ち上げホームディレクトリにいること、macportsとgitはインストール済み、cmakeもroxlueさんの手順にしたがってインストール済みとします。これをやろうという人は言うまでもないことだと思いますが。
mkdir roxlu
cd roxlu
git clone https://github.com/roxlu/OpenNI.git
./OpenNI/Platform/Mac/Bin/Test/build_test.sh
vi Source/Modules/nimCodecs/CMakeFiles/nimCodecs.dir/link.txt
ここで「-lJPEG」を/opt/local/lib/libjpeg.dylibに書き換えてください。もちろん/opt/local/lib/libjpeg.dylibが存在することが前提です。ない場合はsudo port install jpegでインストールできるはずです。
vi OpenNI/Source/Modules/nimCodecs/XnStreamCompression.h
「#include
」を以下のように書き換えてください。
extern "C" {
#include
}
make
make install
これでOpenNIはインストールが完了です。この操作で~/roxlu/OpenNI_TESTというディレクトリができてその中にサンプルプログラムがあります。しかし、このままではサンプルプログラムは動作しないようなので以下、操作を続けてください。
ちなみに私の環境はosx10.6.5です。
cd ~/roxlu
git clone https://github.com/roxlu/SensorKinect.git
./SensorKinect/Platform/Mac/Bin/Test/build_test.sh
cp /opt/local/lib/libjpeg.dylib libJPEG.dylib ※これをやらないと途中でlibJPEG.dylibが見つからん!って怒られましたのでしかたがなくコピーしました。
make
make install
これでセットアップは完了です。あとはMacにKinectを接続してサンプルプログラムを動かすだけです。以下のようになります。
cd ~/roxlu/OpenNI_TEST
./Sample-NiViewer
うまくいくとメッセージが大量に流れてフルスクリーンモードで以下のような画面が表示されるはずです。roxluさんのページはカラフルですが私のは黄色でした。コードを全く読んでいないのでこれからですね。。。とりあえず一歩前進。めでたしめでたし。