我正在尝试用两个摄像头估计立体声系统的深度。我使用的简单方程是:
Baseline*Focal
Depth = ----------------------
Disparity
两台摄像机的视野不会改变允许的最大深度? 它只改变可测量的最小深度?
答案 0 :(得分:9)
在最高端,可测量的深度受到您使用的相机的分辨率的限制,这反映在视差上。随着深度变得越大,差异趋于零。具有更大的视野,在较低深度处有效地为零。因此,更大的视野会降低可测量的最大深度,但您可以通过使用更高分辨率的相机进行一定程度的补偿。
澄清一下:你应该注意(如果你做的正确),你可以测量像素差异,然后将其转换为米(或毫米,如下所示)。完整的公式是:
Baseline * Focal length
Depth = ----------------------------
Pixel disparity * Pixel size
假设您有以下设置:
Baseline (b) = 8 cm (80 mm)
Focal length (f) = 6.3 mm
Pixel size (p) = 14 um (0.014 mm)
您可以测量的最小差异是1像素。根据已知数字,这转化为:
Depth = (80*6.3)/(1*0.014) = 36,000 mm = 36 m
所以在这种情况下,这将是你的上限。请注意,在此范围内,您的测量结果非常不准确。下一个可能的差异(2个像素)发生在18米的深度,下一个可能的距离(3个像素)发生在12米等。加倍你的基线会使范围加倍到72米。加倍你的焦距也会使你的射程增加一倍,但请注意,两者都会对短距离产生负面影响。您还可以通过减小像素大小来增加最大深度。
像素尺寸为0.014毫米时,您可能正在谈论CCD的水平分辨率为1024像素,CCD的宽度约为14.3毫米。如果你将同一区域的像素数加倍,你可以将最大范围加倍而不会在近端失去任何东西(因为这些限制由基线和焦距决定,保持不变)。
This是对立体视觉深度测量权衡的非常好的概述。 维基百科上的this article有关于像素大小,ccd大小,焦距和视野之间关系的一些很好的信息。