OpenNI+ofxopenni(openframeworks)+Macin development

 
date:2011.01.26   posted by:mizutani
 

OpenNI+ofxopenni(openframeworks)でスケルトン表示ができるらしいということで早速OpenNI、openframeworksをMacにインストールしてみました。

1. OpenNIインストール
インストールは以下サイトのままできました。ちなみにopenKinectのドライバを消さずにインストール可能でした。
http://d.hatena.ne.jp/ke_takahashi/20110107

 

2. アドオンダウンロード
事前にofxOpenNIアドオンをダウンロードしておきます。ターミナルで以下を入力してください。
$ git clone https://github.com/roxlu/ofxOpenNI.git
$ cd ofxOpenNI
$ git checkout experimental

 

3. openframeworksインストール
1. 本家のopenframeworks(v0.062)をダウンロード
http://www.openframeworks.cc/download

今後このopenframeworks(v0.062)を[OFv0.062]とします。

2. roxluさんのopenframeworksをダウンロード
$ git clone git://github.com/roxlu/openFrameworks.git

今後このopenframeworks(roxlu)を[OFroxlu]とします。

3. [OFroxlu]のカスタマイズ
 3.1 [OFv0.062]の/libs/gleeフォルダを[OFroxlu]の/libsにコピーします。

 3.2 [OFv0.062]の/libs/poco/lib/osx/CppUnit.aを[OFroxlu]の/libs/poco/lib/osx/にコピーします。

 3.3 [OFroxlu]のaddonsフォルダの中に【アドオンダウンロード】でダウンロードしたofxOpenNIフォルダを丸ごとコピーします。

4. Xcodeの設定
 4.1 addons/ofxOpenNI/example/opennisample.xcodeprojをxcodeで起動します。

 4.2 Xcode左カラム(グループとファイル)にある[libs/core/core libraries]に行き[core libraries]を選択して右クリックをしてください。そして追加>既存のファイル…を選んで[OFroxlu]/libs/glewを追加してください。

 4.3 Xcode左カラム(グループとファイル)にあるTestApp.cppを選択するとコードが表示されます。そのコードにあるcontext.initFromXMLFile();をcontext.setupUsingXMLFile();に変更してください。

 4.4 Xcode左カラム(グループとファイル)にあるaddons/ofxOpenNI/srcに[OFroxlu]/addons/ofxOpenNI/srcにある選択可能なファイルをすべて追加してください。

 4.5 ここで一度[ビルドと実行]ボタンを押してください。そうすると[OFroxlu]/addons/ofxOpenNI/example以下にbinフォルダができますので、そこにdataフォルダを新規に作ってください。そのあと[OFroxlu]/ofxOpenNI/mac/copy_to_data_path/にあるopenniフォルダを先ほど作ったdataフォルダに丸ごとコピーしてください。

 4.6 Xcode左カラム(グループとファイル)にあるaddons/libOpenNI.dylibが赤くなっている場合、これを削除して[OFroxlu]/addons/ofxOpenNI/example/bin/data/openni/lib/にあるlibOpenNI.dylibを追加してください。

 4.7 ここで再度[ビルドと実行]ボタンを押してください。そうするとビルドに成功してグレイ一色のウィンドウが現れるはずです。ここでメニューバー>実行>コンソールでコンソールを表示させて文字がざーっと流れて表示されていればOKです。kinectから一定距離で認識ポーズをとるとスケルトンが現れます。

 

4. まとめ
「Mac+OpenNI+openframeworks(ofxopenni)」の組み合わせはスケルトンを簡単に使えるという利点がありますが、各種インストールがかなり手間で大変です。openframeworksが初めてなので途中エラーが出て動かなかったり大変でした。

まだサンプルコードを実行させただけなのでRGB値取得とかとれるの?と疑問はありますがこれからスケルトンを使って面白いアプリを作りたいですね。
(※02/02追加 armadilluさんのFORKコードを使えばRGB表示ができます。詳しくは「ofxOpenNIでRGB表示させる方法」をご覧ください。)

【参考サイト】
 http://d.hatena.ne.jp/ke_takahashi/20110109/p1#c
 http://www.openframeworks.cc/forum/viewtopic.php?p=26809
 http://www.openframeworks.cc/forum/viewtopic.php?f=10&t=5125&start=30

 
Copyright © TheDesignium inc. powered by WordPress & mootools.
Relative Keyword|none