Kinect,使用深度图像获得Z值

时间:2014-02-21 16:29:03

标签: image opencv kinect processing

我试图找出如何使用Kinect的RGB和深度相机检测物体及其在现实世界中的X,Y,Z位置。

我读到了这个问题:Kinect intrinsic parameters from field of view

要应用此功能,我需要Xv,Yv和Zw ..

到目前为止,我已成功检测到RGB相机中的物体(屏幕上的Xv,Yv位置),但我不确定如何从深度相机中获取Zw值&#34;正确&#34;。< / p>

这是我正在检测的物体的图片(右:仅RGB,左:RGB +深度叠加) Snapshot

右侧窗口上的红色物体检测矩形非常精细,但在左侧窗口中,矩形略微偏离深度图像。这意味着我不能简单地从深度相机读取(Xv,Yv)的值并将其用作Zw值。

P.S。我在Ubuntu上使用freenect和opencv

请帮我弄清楚如何获得对象的Z位置。

1 个答案:

答案 0 :(得分:1)

如果仔细查看HighGUI的文档,会有一个名为CV_CAP_PROP_OPENNI_REGISTRATION的标志,指示重新映射两个摄像机的值。

尝试

VideoCapture capture(CV_CAP_OPENNI);

..

capture.set(CV_CAP_PROP_OPENNI_REGISTRATION,0);