我正在尝试估计带有两个摄像头的立体系统的深度。我使用的简单方程是:
Baseline*Focal
Depth = ----------------------
Disparity
两个摄像头的视野不会改变允许的最大深度?
它只改变可测量的最小深度?
在顶端,可测量的深度受到您使用的相机分辨率的限制,这反映在视差中。随着深度变大,视差趋于零。视场越大,深度越低,视场角实际上为零。因此,更大的视野会降低可测量的最大深度,但您可以通过使用更高分辨率的相机进行一定程度的补偿。
澄清一下:您应该注意(如果您做得正确)您会以像素为单位测量视差,然后将其转换为米(或如下我所做的毫米)。完整的公式是:
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 个像素)发生在 18m 的深度,下一个(3 个像素)发生在 12m 的深度,依此类推。将基线加倍将使范围加倍,达到 72m。将焦距加倍也会使范围加倍,但请注意,两者都会对短端产生负面影响。您还可以通过减小像素大小来增加最大深度。
当像素尺寸为 0.014 毫米时,您可能谈论的是水平分辨率约为 1024 像素的 CCD,即 CCD 宽度约为 14.3 毫米。如果将同一区域中的像素数量加倍,您的最大范围就会加倍,而不会在近端丢失任何东西(因为那里的限制是由基线和焦距决定的,它们保持不变)。
This很好地概述了立体视觉深度测量的权衡。
和本文维基百科上有一些关于像素大小、CCD 大小、焦距和视场之间关系的好信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)