0

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

收敛角:2.2°

基线:77 毫米

焦距:6.3毫米

X分辨率:72

Y分辨率:72

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

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

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

感谢所有回复!

4

1 回答 1

1

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

至于传感器分辨率,如果您有 EXIF 标头,请查看它是否确实存在。感兴趣的关键是“FocalPlaneXResolution”等。你引用的那个,XResolution,是打印分辨率,这是别的东西(而且完全没用)。有关详细信息,请参阅此页面

对于平行相机,距离分辨率和边界更容易计算。例如,参见这篇文章。对于前束相机,几何形状稍微复杂一些,特别是如果您不能假设焦轴是会聚的(因此基线和两个焦轴位于同一平面上)。无论哪种方式,您都可以按如下方式计算它们:

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

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

    -

  • 对于最远距离,您考虑:
    • 右侧相机中与左侧相机焦轴 F 平行的射线 Rf 。Backproject Rf 以找到其对应的像素。当然,这个像素的视差正好为零,因为它是两条平行光线的视差。
    • 现在在同一平面 Rf-F 中向左移动一个像素,并找到反向投影第二个像素的射线 Rd。Rd 必须与 F 相交,因为它在同一平面上,并且与 F 不平行。相交处是可以测量一个像素的视差单位的最远距离。
于 2014-02-01T04:08:00.997 回答