В обработке я могу успешно рисовать карты глубин из 2 Kinects с помощью SimpleOpenNI, но теперь я пытаюсь нарисовать 2 «сцены» (из enableScene() vs enableDepth()). Оба Kinects обнаружены, но когда я рисую вывод, я вижу, что одна и та же сцена рисуется дважды (тогда как использование enableDepth() всегда давало мне 2 разных изображения глубины). Любые идеи, что я делаю неправильно? Заранее спасибо.SimpleOpenNI: Несколько Kinects и enableScene()/sceneImage() в обработке
/* --------------------------------------------------------------------------
* SimpleOpenNI Multi Camera Test
* --------------------------------------------------------------------------
*/
import SimpleOpenNI.*;
SimpleOpenNI cam1;
SimpleOpenNI cam2;
void setup()
{
size(640 * 2 + 10,480);
// start OpenNI, loads the library
SimpleOpenNI.start();
// init the cameras
cam1 = new SimpleOpenNI(0,this);
cam2 = new SimpleOpenNI(1,this);
// set the camera generators ** HAD TO REVERSE ORDER FOR BOTH KINECTS TO WORK
// enable Scene
if(cam2.enableScene() == false)
{
println("Can't open the scene for Camera 2");
exit();
return;
}
// enable depthMap generation
if(cam1.enableScene() == false)
{
println("Can't open the scene for Camera 1");
exit();
return;
}
background(10,200,20);
}
void draw()
{
// update the cams
SimpleOpenNI.updateAll();
image(cam1.sceneImage(),0,0);
image(cam2.sceneImage(),640 + 10,0);
}
Были пара синтаксических ошибок с кодом, который теперь исправлен, но все же проблемы сохраняются. На моей машине (старый macbook) SimpleOpenNI не может создать вторую карту глубины Kinect. Я не уверен, что это ограничение шины USB или проблема с самой библиотекой SimpleOpenNI на данный момент. –
Очень интересно. Мы запустили его на нескольких совершенно новых машинах с Kinects на отдельных шинах, а простые изображения глубины из enableDepth() работают, но enableScene() на обеих камерах последовательно создает одну и ту же сцену, поэтому я считаю, что это что-то в SimpleOpenNI. Ну что ж. Спасибо, что посмотрели. – Gregir