我在这里有点困惑。
Kinect 如何计算深度:我的理解是
- 红外投影仪投射出一种图案,该图案被反射回来并由红外摄像机读取。
- 现在红外摄像机知道特定深度的模式。利用传入和已知模式之间的差异来计算使用三角测量(使用相似三角形的比例)的已知深度。
问题1:是否考虑红外投影仪和红外摄像机之间的距离?我猜不是,因为它们太接近而无法考虑。
问题 2:现在我们直接从模式中获取深度。我们什么时候disparity map
用来计算深度?
我在这里有点困惑。
Kinect 如何计算深度:我的理解是
问题1:是否考虑红外投影仪和红外摄像机之间的距离?我猜不是,因为它们太接近而无法考虑。
问题 2:现在我们直接从模式中获取深度。我们什么时候disparity map
用来计算深度?
视差图基本上是您在开始时提到的已知模式和观察到的模式之间的差异。您在深度计算期间使用它。
投影仪和相机之间的距离也被考虑在内。
看看下图:
Pr是参考深度Zr中散斑的位置,Po是 Kinect 在深度Zo(我们要计算的深度)处捕获的相同散斑。D是 2 点之间的 3D 视差,而d是 2D 图像平面上的视差。f是焦距,b是相机C和激光投影仪L之间的距离。
正如您所提到的,使用相似的三角形,深度计算如下:
该图来自的论文是K. Khoshelham对 Kinect 深度数据的准确度分析。我建议阅读它以更全面地解释深度计算过程。