robo8080のブログ

ロボット製作や電子工作など。

ProcessingでKinectを使ってみた。

2012年01月30日 | OpenNI

ProcessingでKinectを使ってみた。

動作環境は以下の通り。
 OS : Windows7 64bit
 OpenNI : openni-win32-1.5.2.23-dev.msi
 NITE : nite-win32-1.5.2.21-dev.msi
 SensorKinect : avin2-SensorKinect-faf4994.zip
 simple-openni : SimpleOpenNI-0.24-win32.zip
 NyARToolkit for processing : nyar4psg-1.1.7.zip

ファイルの入手先はこちら
 http://www.openni.org/Downloads/OpenNIModules.aspx
 https://github.com/avin2/SensorKinect
 http://code.google.com/p/simple-openni/
 http://sourceforge.jp/projects/nyartoolkit/releases/?package_id=8920

simple-openniでProcessingからKinectを使ってみた。

とりあえずサンプルはサクッと動いた。

 

 

・Kinect ZOOMを使ってみた。

さてこいつの威力を試させてもらおう。

 

 

左がZOOM有り。右がZOOM無し。

ZOOMを使うとカメラに映るエリアが広がっているが、穴からのぞいたように周りが黒くなってしまうのが残念。

 

NyARToolkit for processingを使ってみた。

エラーが出るが一応動いた。

”import processing.core.*”している行をコメントにしたらエラーは出なくなった。

 

 

・NyARToolkit+simple-openniの実験(1)

つぎは、NyARToolkit for processing + simple-openniでKinectカメラ画像にAR表示させてみる。

10分もかからずにサクッと出来た。簡単すぎ!!VC++でやった時のあの苦労はなんだったのか!orz

KinectのRGBカメラ画像でマーカーを検出して、Depthカメラ画像にAR表示させてみた。

画像の周りが丸く黒いのはZOOMを使っているから。

 

 

・NyARToolkit+simple-openniの実験(2)

applyMatrix(nya.getMarkerMatrix(0))しただけではダメか。

NyARToolkitとOpenNIでは座標の取り方が違うんだろうな。

 

 

・NyARToolkit+simple-openniの実験(3)

X軸周りに180度回転&X軸の向きを逆にしてapplyMatrix(nya.getMarkerMatrix(0))したらうまくいった。

キャリブレーションしてないから位置はずれてる。

”NyAR4PsgConfig.CONFIG_DEFAULT”にすればX軸の反転は不要だった。

 

 

・NyARToolkit+simple-openniの実験(4)

@nyatla さんに新しいAPI、marker2ScreenCoordSystem関数を追加していただいた。

NyARToolkit for processing1.1.7

 

 

追加していただいたAPIを使って、位置の補正もうまくいった。ほぼARマーカーの位置に重なっている。

マーカー中心位置ー>スクリーン座標ー>Depthカメラ座標、に変換して補正している。

 

 

動画はこちら。

Kinect でAR の実験

 

・ちょっと寄り道

双葉電子のサーボモータRS304MDとアルミフレーム。次はこれで...

 

 

よし出来た。双葉電子のサーボモータRS304MD+小型Wi-FiカメラCS-W07G-CY。

  

 

双葉電子のサーボモータRS304MD+小型Wi-FiカメラCS-W07G-CYで、ARマーカーのトラッキング出来た。

Kinectとは関係ないが...。

NyARToolkit for processingの”marker2ScreenCoordSystem”関数使用。

 

 

動画はこちら。

ARマーカーのトラッキング実験

 

・KinectでColor Trackingの実験。

KinectのDepth情報で背景を分離してからColor Trackingしてみた。 

 

 

動画はこちら。

kinectでColor Trackingの実験(その1)

 

KinectでColorTrackingの実験(その2)

KinectのDepth情報を使って、3次元空間でColorTrackingしてみた。

 

・3D表示をポリゴン+テクスチャーマッピングに改造してみた。

SimpleOpenNIのサンプルプログラム"AlternativeViewpoint3d"の表示を、ポリゴン+テクスチャーマッピングに改造してみた。

表示は重くなるが拡大してみるとその差歴然。 

 

つづく...?


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。