ofxOpenNIでKinectを動かしてみる

さて、「Kinectハッカーズマニュアル」にも記述されていた「ofxOpenNI」を試す。

前回の記事でダウンロードした「OpenFrameworks」を使用する。今回使用したバージョンは「of_preRelease_v007_osx」というやつ。

# 注意点として「XCodeは4.1」で実行。

さらに「PROJECT/TARGETS」の「Build Setting > Base SDK」を「10.6」にしておく
(4.2だと動かなかったので、もうちょい検証が必要。
今後アップデートで対応って本家サイトに書いてあったのでひとまず放置)

# ごめんなさい、ごめんなさい「4.2」でも動きました。

では始めにアドオン「ofxOpenNI」をダウンロードする。


gitgub:
gameoverhack / ofxOpenNI

からzipでもgitでも良いのでダウンロードもしくはcloneで持ってくる。

持ってきたら設置・設定を行う。

上記サイトに「DRIVERS & SETTING UP YOUR OWN PROJECTS」という項目で、

セッティングするための内容が記載されています。


Mac OS X:
You don’t need to do any install of drivers if you don’t want, just:

* Do the git magic above or somehow else get a copy of ofxOpenNI into your addons directory
* Make a new project (in 062 by copying emptyExample folder from the apps/examples/ directory into your working path -> something like ofFolder/apps/dev/)
* Copy the folder called ‘lib’ from ‘ofxOpenNI/mac/copy_to_data_openni_path’ to your ‘bin/data/openni’ directory of your emptyExample
* In Xcode make a new Group called ‘ofxOpenNI’ under ‘Addons’ (right or control click the ‘Addons’ Group, select Add->New Group)
* Drag the ‘src’ and ‘include’ folders from inside the ofxOpenNI folder (in your addons directory) into the Group ‘ofxOpenNI’ you just made.
* Drag the folder ‘lib’ from bin/data/openni (the one you just copied) into the Group ‘ofxOpenNI’
* Add #include “ofxOpenNI.h” at the top of your testApp.h (or in whatever class you’re using ofxOpenNI)

これを「A-Z」まで順番に言えないレベルの英語力の私ですが読んでみたところ、


まっくおーえすてん

特に必要としないならやらなくて良いよー 🙂

1. 「of_preRelease_v007_osx」の「addons」ディレクトリへ「ofxOpenNI」ディレクトリを移動
2. 新規プロジェクトの作成(今回は例として「/apps/examples/emptyExample」で試す)
3. 「ofxOpenNI」ディレクトリ内「/mac/copy_to_data_openni_path」の「lib」ディレクトリを
「2」で作成したプロジェクトの「/bin/data」へ「openni」ディレクトリを新規作成してコピー
4. XCodeで「addons」ディレクトリ直下へ「ofxOpenNI」というグループを新規作成
5. XCodeで「4」で作成した「ofxOpenNI」グループに「src」「include」ディレクトリを
ドラッグアンドドロップ(参照でOK)
6. 「3」でコピーした「lib」ディレクトリも「5」と同じくドラッグアンドドロップで追加
7. 「testApp.h」のソースコード内の上部へ「#include “ofxOpenNI.h」を追記して「Run」を実行

最後の「Run」で「Build Success」になれば、インクルードなどに問題無く読めているとのこと。
ここまで順調にやれば問題無くビルドは通ってるはず(と信じたいですね)

ここまで行うと下記のようになっっているはず。

問題無くビルド出来たら、次は実際にofxOpenNIのサンプルを試すことにする。

ん?でも「ofxOpenNI」にある「config」ディレクトリも必要なんじゃないかい???
設定がめっちゃ書かれているんだもん。NITEのkeyとかもここに書かれている。

ということで設置せずに試したらやはりエラーになり、あえなく撃沈。
予想通りでした 🙂


「config」ディレクトリを設置

1. 「addons」ディレクトリの「ofxOpenNI」にある「/bin/data/openni/config」を確認
2. 次に「1」で確認したディレクトリを「/apps/example/emptyExample/bin/data/openni」へコピー

ここまで出来たら後はサンプルをそのままコピペしてきて試す事にする。

「addons」ディレクトリの「ofxOpenNI」にある「/example/src」の

-「main.cpp」
-「testApp.h」
-「testApp.cpp」

を「/apps/example/emptyExample/src」のそれぞれのファイルへコピペするだけ。
コピペだけですいません、サンプルはまた作りますので許して下さい。

いざ・・・実行!

まず、「Kinect」を接続せずに実行すると・・・


warning: Could not find object file “/Developer/usr/lib/gcc/i686-apple-darwin10/4.0.1/libgcc.a(_eprintf.o)”
– no debug information available for “/var/tmp/gcc_40/gcc_40-5494~211/src/gcc/libgcc2.c”.
warning: Could not find object file
“/Users/theo/Documents/CODE/__OPENFRAMEWORKS/gitOF/openFrameworks/apps/devApps/
macDragDropExample/buildGlutFrameworkHackedWindowLevel10.4/libForeground.a(macx_foreground.o)”
– no debug information available for “/Users/mcast/Code/GLUT-ToPost/macx_foreground.m”.

と2つのエラーが出るのでご注意。

次にしっかりと「Kinect」を接続して実行(Run)すると・・・

おー!しっかりと表示されてログも出てますね。

ちなみにキーバインドで「上下」が効くので試しに押してみると、
なんとKinectを操作出来るじゃありませんか!!! 😀

すげー、まじでおもしれー!!!

投稿者:

kishir

趣味: sk8, ピスト、ターンテーブル、レコード 仕事: Python, Objective-C, PHP, JavaScript