将kinect深度强度转换为以米为单位的距离

时间:2019-06-03 12:18:35

标签: computer-vision kinect

我正在研究kinect v1深度图像。 如何找到每个像素相应深度强度值的距离(以米为单位)? 强度值的范围是 0-255 ,因为它是灰度图像,并且我没有原始深度数据。

我尝试了多种获取距离的方法,例如使用以下公式:

- 1.0 / (raw_depth * -0.0030711016 + 3.3309495161)  
- 0.1236 * tan(rawDisparity / 2842.5 + 1.1863)

我还尝试使用以下方法获取原始数据:

raw = (255 - depthIntensity)/256*2047

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

Kinect实际上通过USB发送类似于视差图像的内容。 OpenNI和libfreenect都能够使用设备报告的参数(基线,焦距和到参考平面的距离IIRC)将其转换为深度图像。例如CV_CAP_PROP_OPENNI_BASELINE

在下面的数学表格中,这是我们根据视差找到深度的方式

深度=基线*焦距/视差。深度应与当前图像帧的Z轴相对应。

enter image description here