[[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]]に戻る

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS