Skip to content

对焦、焦距与景深 ​

对焦是在让像落到传感器上;变焦是在改变镜头的焦距。 两者都可能改变画面大小,但它们改变的物理量不同。

下面用一个固定传感器、单片凸透镜的模型来观察。真实镜头包含多组镜片,这个模型用于理解基本原理。

交互实验 ​

读图与操作 ​

  • 自动合焦:只移动镜片,让当前物体清晰成像;超出镜片行程时显示提示。
  • 变焦后自动合焦:启用后,改变焦距会联动移动镜片;关闭时各参数独立调节。
  • 像在传感器前/后:载入对应示例。重置恢复初始清晰状态。
  • 左图是当前传感器上的投影;右图是在实际成像面放置同尺寸画幅的理想合焦参考,不代表当前传感器画面。
  • ** 1×/16×/32× **仅改变两幅预览的显示倍率。整幅视图用于看取景,局部放大用于检查失焦。
  • 光路中,蓝色与粉色分别对应物体上下两点;橙色虚线表示物方合焦位置,紫色虚线表示实际成像平面。
  • 景深卡片中的边界距离从固定传感器量起,与物体位置 L 一致;参数区标明“到透镜”的数值则采用透镜坐标。

光路图对物方和像方分别缩放,不能直接测量图上的角度。该模型不模拟衍射、像差、镜头结构细节和曝光亮度;失焦预览采用高斯模糊近似。

先分清这些距离 ​

参数在模型中的含义调节时发生什么
物体位置 L物体到固定传感器的距离只移动物体
镜片间距 d透镜到传感器的距离移动镜片进行对焦
物距 u=L−d物体到透镜的距离由前两个量推导
焦距 f凸透镜的光学属性改变折射能力,相当于换透镜
实际像距 v透镜到光线汇聚平面的距离由焦距和物距决定
孔半径 r遮光板中央透光孔的半径改变光束宽度
容许弥散圆 c可接受的光斑直径上限改变清晰判断的标准

注意:镜片间距不是对焦距离。 这里的物方对焦距离指能精确合焦的物体到透镜的距离;真实相机标注的对焦距离通常从传感器平面量起。

三个操作实验 ​

1. 移动物体,再重新对焦 ​

  1. 点击“恢复清晰示例”。
  2. 只改变物体位置,观察紫色成像平面离开传感器平面。
  3. 点击“移动镜片合焦”。机身和物体不动,镜片移动,使成像面重新落在传感器上。

2. 改焦距与移动镜片的区别 ​

先关闭自动重新合焦,只调焦距。观察理想成像面的大小与失焦光斑,再点击“移动镜片合焦”。

也可以直接比较“35 mm 并重新合焦”与“85 mm 并重新合焦”:长焦重新合焦后,通常取景范围更窄,主体更大。用 1× 整幅 观察视野,用 16× 局部 检查模糊细节;显示倍率不改变光学参数。

3. 缩小孔径是否等于重新对焦? ​

让物体位于景深外,再缩小透光孔。实际成像平面不变,但传感器上的光斑变小,可能达到可接受清晰。

缩小孔径没有让成像平面与传感器重合。 模型也未计入小光圈衍射,因此不能据此认为真实镜头的孔径越小越好。

数学模型与推导 ​

以下采用薄透镜、近轴近似,所有长度统一以 mm 计算。忽略衍射、像差和曝光亮度变化;公式中的光斑是几何光斑。

1. 坐标和光圈 ​

传感器固定,物体到传感器的距离为 L,镜片到传感器的距离为 d。因此物距为:

u=L−d.

设透光孔半径为 r,则孔径直径 D 与光圈值 N 为:

D=2r,N=fD=f2r.

本组件直接控制 r。因此改变焦距时,孔径保持不变,推导出的 F 数随之改变。

2. 从光线斜率推导薄透镜公式 ​

设物点高度为 h,光线穿过透镜时的高度为 a。近轴条件下,可以用斜率近似光线角度。入射斜率为 (a−h)/u;薄透镜使斜率减少 a/f:

θout=a−hu−af.

光线经过透镜后传播距离 z,高度为:

y(z)=a+zθout=a(1+zu−zf)−zhu.

同一物点发出的各条光线,在实际像距 z=v 处汇聚。因此 y(v) 必须与孔径位置 a 无关,即 a 的系数为零:

1+vu−vf=0.

整理得到:

1f=1u+1v,v=fuu−f.

这里 v 是实际成像平面到透镜的距离;d 是固定传感器到透镜的距离。精确合焦要求 v=d。

3. 从孔径边缘推导失焦光斑 ​

在传感器处令 z=d,并利用薄透镜公式:

y(d)=a(1−dv)−dhu.

孔径两侧边缘对应 a=+r 与 a=−r。两条光线在传感器上的距离为:

b=|y(d)|a=+r−y(d)|a=−r|=2r|1−dv|.
  • v=d:几何光斑直径为零,精确合焦。
  • v<d:光线先汇聚,再散开到传感器上。
  • v>d:光线到传感器时还未汇聚。

给定容许弥散圆直径 c,可接受清晰的条件为:

b≤c.

失焦程度连续变化;景深边界是清晰标准划出的边界,并不表示过界后会突然完全模糊。

4. 变焦、对焦与取景大小 ​

理想成像面上 y(v)=−vh/u,所以放大率为:

mideal=y(v)h=−vu=−fu−f.

穿过透镜中心的主光线对应 a=0。它在传感器上的位置为 y(d)=−dh/u,因此光斑中心位置的比例为:

msensor=−du=−dL−d.

负号表示倒像。失焦时,后一个量描述光斑中心的分布,并不代表传感器上存在清晰的像。

固定物体位置 L 和镜片位置 d,只改变焦距 f,不会改变 msensor,但会改变实际像距 v、理想放大率和失焦光斑。

移动镜片则会同时改变 d 和 u=L−d,所以对焦过程也可能伴随主体大小变化。

若传感器宽度为 W,当前物距处的主光线取景宽度和水平视角为:

Wobject=Wud,α=2arctan⁡(W2d).

这里取景宽度按主光线位置定义,忽略了离焦光斑跨越画幅边缘的影响。

5. 自动对焦如何求镜片位置 ​

物体和传感器都固定时,L 保持不变。精确合焦需要同时满足 u=L−d 和 v=d:

1f=1L−d+1d.

整理得到二次方程:

d2−Ld+fL=0.

组件采用普通摄影对应的较小根:

dfocus=L−L2−4fL2.

计算时可使用等价形式,减少相近数相减造成的精度损失:

dfocus=2fLL+L2−4fL.

要求 L≥4f 才有实数解;若解超出镜片可移动行程,组件会提示无法到达。另一个根对应另一组物像共轭位置。

6. 由清晰阈值推导前后景深 ​

用 U 表示任意待考察物距,与当前物体的 u 区分。定义:

q=1f−1d,t=c2rd.

把薄透镜公式代入光斑公式:

b=2r|1−d(1f−1U)|=2rd|1U−q|.

由 b≤c 得到:

q−t≤1U≤q+t.

近界为:

Unear=1q+t(q+t>0).

在存在清晰区间的前提下,远界为:

Ufar={1q−t,q−t>0,∞,q−t≤0.

当 q>0 时,精确合焦物距为:

s=1q=fdd−f.

前、后景深分别为:

DOFfront=s−Unear,DOFrear=Ufar−s.

边界情况:

  • q+t≤0:没有有限物距满足清晰条件。
  • q+t>0 且 q−t≤0:远界为无穷远。
  • q≤0:没有有限的精确合焦物距,不能围绕有限合焦位置划分前后景深;但可能仍有一段满足阈值的远处清晰区间。

上述 U 和 s 从透镜量起。组件中的景深卡片从传感器量起,所以边界分别加上 d;前后景深的长度不变。

7. 为什么缩小预览后看不出失焦 ​

若预览宽度为 P 像素,传感器宽度为 W,光斑在预览中的直径约为:

bpreview=bPW.

即使 b>c,当 bpreview 小于一个像素时,整幅预览也可能看起来清晰。局部放大倍率为 k 时,光斑显示直径变为 kbP/W;这不会改变任何光学参数。

预览使用高斯模糊近似离焦,取:

σ=b4,σpreview=b4PWk.

这是本组件的显示近似,并不是精确的离焦点扩散函数。判断当前是否达到设定的清晰标准,应以组件显示的 b 与 c 的比较结果为准。