2012年8月25日土曜日

OpenNIのMultiViewer

はじめに

Xtion Pro Liveの2台目を購入しました。2台同時に描画できるMutiViewerを実装したので紹介します。デプス画像から3次元点群を導出し、各点にRGB画像から取得した色を付けて描画します。

開発環境

  1. Mac OS X 10.8.1
  2. プロセッサ:3.06GHz Intel Core 2 Duo
  3. メモリ:4GB
  4. Xcode4.4.1

主要ライブラリ

  1. Boost
  2. OpenNI
  3. OpenGL

ソース

こちらです。自分のマシーンでしか動作確認してません。

コンパイルオプション

Header Search Path:
パス 目的
/usr/include/ni/ OpenNIヘッダー
/opt/local/include/ Boostヘッダー

Library Search Path:
パス 目的
/opt/local/lib Boostライブラリ

その他、OpenGLを使用するため、-framework OpenGLなどを設定しています。詳細はソースをご覧ください。

使い方

実行ファイ名は、OpenNiMultiViewerです。引数--helpを付けて実行すると以下を出力します。 Xtion Pro Liveを2台接続し引数なしで実行すると、窓が2つ開き映像が映し出されます。--width/--heightの値はデフォルト値でしか動作確認していません。 窓にフォーカスがある状態で、キーボードから「ecs」を打つと終了します。

補足

  1. Xtion Pro Liveの台数を可変にするには手直しが必要です。
  2. 深さを取得できない領域は白抜きになります。
  3. Xtion Pro Liveは赤外線を使用します。2台以上あるとお互いの赤外線が干渉するため、深さを取得できない領域が多くなります。

0 件のコメント:

コメントを投稿