Kinect如何计算深度?

5

我在这里有些困惑。

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

  • IR投影仪发射一个图案,该图案被反射并被IR相机读取。
  • 现在,IR相机知道特定深度的图案。 利用入射和已知模式之间的差异,利用类似三角形的比例来计算深度。

问题1: 它是否考虑了IR投影仪和IR相机之间的距离?我猜不会,因为它们太接近而无法考虑。

问题2: 现在我们直接从图案中获得深度。 何时使用视差图来计算深度?

1个回答

7

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

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

请查看以下图片:

enter image description here

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

如您所述,使用相似三角形,可以计算深度:

enter image description here

这个图表所在的论文是K. Khoshelham的Kinect深度数据准确性分析。我建议阅读该论文,以获得更详细的深度计算过程解释。


我以为从图案中我们可以直接计算出“深度图”。但是从论文中我理解到,这两种图案的差异给出了“视差图”。 - Shashwat
您可能需要编辑图表。Po位于Pr-L和物体平面的交点处。 - Shashwat
@Shashwat 是的,你说得对,我想把它做得更大,不小心错过了,谢谢! - Sassa
抱歉再次指出。但现在Po的投影不通过C :) - Shashwat
1
@Shashwat 哎呀,终于修好了!如果你还发现其他问题,请告诉我。我今天早上还没喝咖啡呢!:) - Sassa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接