在颜色位置,Kinect的SDK获取深度(Get Depth at Color position,

2019-07-30 22:04发布

我正在寻找的方式(尽可能快)得到相应的深度从Kinect的摄像头彩色像素。

我已经找到了MapDepthFrameToColorFrame功能。 但是,只有给我的颜色在一定的深度位置,我想相反。

我想这样做的原因是,我将能够在RGB图像点击一个位置并获得位置该像素。

有没有办法做到这一点不是通过从MapDepthFrameToColorFrame所有结果循环更快?

Answer 1:

这里的问题是,并不是每一种颜色的像素将分配给它的,因为摄像机和红外线发射器定位方式的深度。 如果你面对的Kinect和在胸前举起你的左手,有你的胸部的部分,不会有深入的数据,因为你的手块红外发射器。 由于红外线摄像机更接近RGB摄像头,你一般不会有打算从深度RGB同样的问题; 如果Kinect的可以看到红外线,它可以看到RGB。

要回答你的问题:我不知道有什么方法可以做到这一点,因为RGB指数不给你足够的信息来计算的深度索引。 您是否尝试过使用MapDepthFrameToColorFrame和循环像你提到的? 除非你点击像一个疯子(或计算机),我愿意打赌,应用程序将能够处理这只是罚款。 我不会花时间尝试,直到你确定它是造成问题,以优化这一点。

如果你愿意,你可以尝试通过检查颜色的子集坐标函数返回削减循环的大小。 获取RGB像素(X,Y)的坐标,然后检查深度某处接近(X,Y)坐标。 也许(X-20,Y-20)到(x + 20,y + 20)。 如果没有找到它,你可以检查阵列的其余部分。 测试了这一点,你也许可以找到一个很好的范围,检查请求的像素,你会得到一击的大部分时间围绕,没有大量的循环中。



文章来源: Get Depth at Color position, Kinect SDK