景深概念
为了方便谈论景深,我们在这里把成像过程视为理想成像,即点物成点像。在理想光学系统中,物空间的一个平面,在像空间有且只有一个平面与之共轭,该物平面(对焦平面)上的点在与之共轭的像平面(感光平面)上成点像,在其他像空间的平面上的像只能是一个有一定直径的圆斑,光学上称为弥散斑。
我们知道任何的光能接收器都是不完善的,无论是人眼,感光胶片,CCD,CMOS都是具有一定的分辨率,只要弥散斑的直径足够小时,接收器就会误认为其是一个点。所以,可以说该点(实际是直径足够小的弥散斑)所在的平面也参与了清晰成像。
景深的定义就是在感光平面上获得成清晰像的物空间深度。记作:DOF(Depth Of Field)。
下图所示,对焦平面上的点在感光平面上的像是一个点,而平面1和平面2上的点在感光平面上的像是直径可接受的弥散斑,该光学系统的景深就是平面1到平面2之间的距离。
经过公式推导(此处省略,有兴趣者可探讨)我们给出景深的计算公式:
景深=2 x 有效Fno x 弥散斑直径 ÷倍率²
通过公式我们可以看出,光学系统的景深受有效Fno、弥散斑直径、倍率这三个参数的影响。我们反复讲越大的倍率景深会越小;光圈开的越大,说明有效Fno越小,此时景深越小,这两点对于大家好像比较容易理解。唯独对弥散斑直径的争议不断。
上面我们说,任何光能接收器都是不完善的,存在一个分辨率,当弥散斑的直径足够小时,认为该弥散斑是一点。也就是可接受的清晰成像。在实际工业机器视觉应用中,我们通常不会用人眼去判断图像是否清晰,不会通过弥散斑小到被误认为是点而去判断图像的清晰度。而是通过去数究竟有几个过度像素来判断图像是否可接受。如下图,(A)中从黑到白仅1个过度像素,(B)中从黑到白有3个过度像素。假设在实际项目中,可接受的过度像素是3个,那么此3个过度像素的长度就作为弥散斑的半径,此时计算该应用中的景深所用的弥散斑直径就是2 x 3 x像元尺寸。
景深计算
而有效Fno. 与Fno. 换算关系如下:
通常,镜头厂家会用如下方式来表示对应镜头种类的通光量:
(1) 远心镜头:直接给出有效Fno., 如:
(2) 微距镜头:给出Fno. ,如:
(3) CCTV镜头:给出Fno.,如
以ML-MC50HR微距镜头为例,当此镜头用在0.5倍时,有效Fno.≈Fno.(1+0.5) = 1.5 Fno. ,如果用错了,则景深会相差1.5倍。
又如 ML-M1616UR CCTV镜头,在不加接圈时,其最大倍率也仅为0.095倍。则有效Fno.≈1.095*Fno. 。一般而言,CCTV镜头计算景深时,可用Fno.代替有效Fno.
因此,从上述描述可以看出,对于微距和CCTV这类给出Fno.值的镜头,若用在倍率较大时(一般大于0.1倍),需将Fno.换算成有效Fno.后,再代入景深公式计算。
景深公式是如何推导出来的
之前的文章或视频里,我们经常会提到景深这个参数,包括景深公式(景深=2有效Fno可接受弥散圆直径/放大倍率²),相信经常关注我们官方号的小伙伴一定不会陌生。但是,还是会有小伙伴问:为什么你们这个公式和网上,或是教科书中的景深公式相比,有比较大的差异,到底孰对孰错……
注释:
F:焦距
D:有效光圈孔径(入瞳孔径)
A:光圈值,A=F/D
σ:可接受弥散圆直径
u:物距
v:像距
h:后主面、出瞳间距
n:出入瞳孔径比,n=D’/D
推导过程