【OpenNI】OSX9 + NiTE2.2 + OpenNI 2.2 + OpenFrameworks 0.8 + Xtion

Open NIを大分使っていなかったのですが思い切って新しいのに切り替える事にします。

いつのまにかOpenNiもNiteも2になってました。

2用にライブラリも作ろう。

 

【preparation】

Open Ni2.2 / Nite2.2 / of0.8 /marvericで行いました。

※macport使います。brewでもOK。

 

まず、port installedでパッケージ確認

sudo port install libtool

sudo port install libusb +universal (もしエラーが出れば、sudo port selfupdateをしてみる)

 

NiTE-2.2のinstall

./install.shを実行すると下記が出来る。

NiTEDevEnvironment

Registフォルダ

 

・OpenNI-2.2のinstall

./install.shを実行すると下記が出来る。

OpenNIDevEnvironment

Registフォルダ

 

・OpenNIDevEnvironment、NiTEDevEnvironment のファイルの内容をユーザーhomeの.bashprofileに追記。

export OPENNI2_INCLUDE=/Users/jiropost/dev/OpenNI-2.2/Include

export OPENNI2_REDIST=/Users/jiropost/dev/OpenNI-2.2/Redist

export NITE2_INCLUDE=/Users/jiropost/dev/NiTE-2.2/Include

export NITE2_REDIST64=/Users/jiropost/dev/NiTE-2.2/Redist

 

 

・binにNiTE-2.2/Regist OpenNi2.2/Registからファイルをコピー

スクリーンショット 2014-01-30 9.55.43

 

 

 

 

 

 

・Targets > Build Settings のHeader Search Pathと、Library Pathに下記を追加。

NiTE-2.2/Regist

OpenNi2.2/Regist

 

・Targets > Build PhasesのLink Binary With Librariesに下記を追加

libNiTE2.dylib

libOpenNI2.dylib

 

・一度ビルドして、アプリケーションパッケージを右クリックして

パッケージを開くを選択する

Contents > MacOS以下に $(SRC_ROOT)/bin/以下のライブラリ等をコピーする。

ユーザートラッキングするときに./Nite2/s.datがないといわれて

しまいます。ビルド時の設定でなんとかできないんでしょうか。

nite::NiTE::initialize();

nite::UserTracker userTracker;

     userTracker.create()    ここでエラー

スクリーンショット 2014-01-30 18.09.16

 

 

・以下テストアプリ

 

#include “testApp.h”

#include <OpenNI.h>        <-  TARGETSのほうにincludeしたので#include “OpenNI.h”変えましょう。

//————————————————————–

void testApp::setup(){

openni::Status rc = openni::STATUS_OK;

openni::Device device;

openni::VideoStream depth, color;

const char* deviceURI = openni::ANY_DEVICE;

rc = openni::OpenNI::initialize();

printf(“After initialization:\n%s\n”, openni::OpenNI::getExtendedError());

rc = device.open(deviceURI);

if (rc != openni::STATUS_OK)

{

printf(“SimpleViewer: Device open failed:\n%s\n”, openni::OpenNI::getExtendedError());

openni::OpenNI::shutdown();

return 1;

}

 

ライブラリは又今度

good luck,