[[15_Ueno]]
* Ooenni無しでKinectv2とProcessingでARを描画する方法 [#gad4c7ad]
--Kinectv2とprocessingの組み合わせで使うと,openniが使えない.おそらくドライバがopennniとwindows for Kinectで競合し合うとか,openniの配布が終了しているから,xbox360でしかopennniは使えないとかの理由だと思う.
--kinectv2でARを触るwebサイトがなかったので記録しておく.openini無しのでも意外となんとかなった.
** 準備 [#of5ef004]
--Win8
--Processing Library
---ARtoolkit nya?
---kinectPV2
--Kinect v2
--hiroマーカー
**sample [#pfc827b5]
--KinectのRGBカメラでARのいつもの箱を描画しただけ.
import KinectPV2.*;
import jp.nyatla.nyar4psg.*;
MultiMarker nya;
KinectPV2 kinect;
void setup(){
size(1920, 1080, P3D);
// colorMode(RGB, 100);
println(MultiMarker.VERSION);
kinect = new KinectPV2(this);
kinect.enableColorImg(true);
kinect.init();
println(0);
nya=new MultiMarker(this, width, height, "camera_para.dat", NyAR4PsgConfig.CONFIG_PSG);
nya=new MultiMarker(this, 1920, 1080, "camera_para.dat", NyAR4PsgConfig.CONFIG_PSG);
nya.addARMarker("patt.hiro", 80);
println(1);}
void draw(){
println(3);
image(kinect.getColorImage(), 0, 0, 1920, 1080);
nya.detect(kinect.getColorImage());
background(0);
println(4);
nya.drawBackground(kinect.getColorImage());//frustumを考慮した背景描画
if ((!nya.isExistMarker(0))) {
println(5);
return;
}
println(6);
nya.beginTransform(0);
fill(0, 0, 255);
translate(0, 0, 20);
box(40);
nya.endTransform();}
***解説 [#ldb6d122]
---全体的にcamの部分をKinectv2使用に変更した.
---size();でなぜか1920,1080に設定しないとkinectのRGBカメラが起動してくれない.
[[15_Ueno]]に戻る
[[15members]]に戻る
[[Members]]に戻る