Kinect如何计算深度?

时间:2014-04-11 16:46:22

标签: kinect depth camera-calibration calibration

我在这里有点困惑。

Kinect如何计算深度:我理解的是

  • 红外投影仪抛出一个反射回来并由红外摄像机读取的图案。
  • 现在红外摄像机知道特定深度的模式。利用输入和已知模式之间的差异来计算使用三角测量已知的深度(使用相似三角形的比例)。

问题1 :是否考虑了红外投影仪和红外摄像机之间的距离?我想不,因为它们太接近了,不能考虑。

问题2 :现在我们直接从模式中获取深度。我们何时使用disparity map来计算深度?

1 个答案:

答案 0 :(得分:7)

视差图基本上是您在开头提到的已知模式和观察模式之间的差异。您可以在深度计算期间使用它。

投影机和相机之间的距离也会被考虑在内。

查看下图:

enter image description here

Pr 是参考深度 Zr 中散斑的位置, Po 是Kinect在深度捕获的相同散斑 Zo (我们想要计算的深度)。 D 是2点之间的3D视差,而 d 是2D图像平面上的视差。 f 是焦距, b 是相机 C 与激光投影机 L 之间的距离

正如您所提到的,使用类似的三角形,深度计算如下:

enter image description here

该数字来自K. Khoshelham的Accuracy Analysis of Kinect Depth Data。我建议阅读它以更深入地解释深度计算过程。