如何根据立体几何参数估计视差/深度图限制?

时间:2014-01-29 11:09:49

标签: matlab computer-vision stereoscopy disparity-mapping

我正在尝试估计立体声对中某些点之间的差异的上限。我知道以下参数:

会聚角:2.2°

基线:77 mm

焦距:6.3 mm

Xresolution:72

Yresolution:72

分辨率单位:0x2(英寸)

我知道x方向上的相邻点之间的距离(沿着极线)变化大约120像素...我已经看到前景中的点这个距离很小,因为背景中的点更大,我想要一种方法来自动建立这个距离的上限...我的问题是我是否可以使用这些参数估计这个上限(没有估计差异/深度图)..我不需要精确的差异值但是只是一个近似值来改变我的上限安全性。

注意我没有传感器尺寸:(

感谢所有回复!

1 个答案:

答案 0 :(得分:1)

首先澄清 - 这个问题似乎混淆了与距离的差异,而它们(大致)是彼此相反的。近点的绝对值差异很大,远点的差异很小。例如,对于具有平行焦轴的摄像机,在同一轴方向上的无限远点将具有恰好零差异。

至于传感器分辨率,如果你有EXIF标题,看看它是否真的存在。感兴趣的键是“FocalPlaneXResolution”等。你引用的那个,XResolution,是打印分辨率,这是其他东西(并且完全没用)。有关详细信息,请参阅this page

对于并行相机,距离分辨率和边界更容易计算。例如,请参阅this article。对于内置摄像机,几何结构稍微复杂一些,尤其是如果您不能假设焦轴是会聚的(这样基线和两个焦轴都位于同一平面内)。无论哪种方式,您可以按如下方式计算它们:

  • 对于最近的距离,您可以考虑一个平面和两个光线:

    • 平面是图像的边缘的反投影,即包含光学中心左侧和左侧图像右边缘的平面
    • 光线是图像的左上角和左下角的反投影。
    • 平面和光线之间的两个交点中最近的一个是立体对可见和可测量的最近点。

    -

  • 对于最远的距离,您可以考虑:
    • 相机中与相机的焦轴F平行的光线Rf。 Backproject Rf找到其对应的像素。当然,该像素的视差恰好为零,因为它是两条平行光线的视差。
    • 现在在同一平面Rf-F中向左移动一个像素,并找到反向投影该第二个像素的光线Rd。 Rd必须与F相交,因为它在同一平面内并且与F不平行。交点位于最远的距离,可以测量一个像素的视差单位。