【发布时间】:2013-01-25 20:11:31
【问题描述】:
在处理中,我可以使用 SimpleOpenNI 从 2 个 Kinect 成功绘制深度图,但我现在尝试绘制 2 个“场景”(来自 enableScene() 与 enableDepth())。两个 Kinect 都被检测到,但是当我绘制输出时,我看到同一个场景被绘制了两次(而使用 enableDepth() 总是给我 2 个不同的深度图像)。任何想法我做错了什么?提前致谢。
/* --------------------------------------------------------------------------
* 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 库本身存在问题。
-
非常有趣。我们已经在几台全新的机器上使用 Kinect 在不同的总线上运行它,并且来自 enableDepth() 的简单深度图像可以工作,但是两个摄像头上的 enableScene() 始终会产生相同的场景,所以我认为它是 SimpleOpenNI 中的东西。那好吧。感谢您的观看。
标签: kinect processing openni simple-openni