光学学习笔记 #1:焦深与景深

写于 2025年6月29日 | 光学学习系列


基础概念

透镜成像的几何光学模型

在理想薄透镜模型中,成像遵循高斯公式

​\frac{1}{f} = \frac{1}{u} + \frac{1}{v}

参数说明:

  • ​f:透镜焦距
  • ​u:物距(物体到透镜的距离)
  • ​v:像距(像到透镜的距离)

弥散圆(Circle of Confusion)

弥散圆是理解焦深和景深的关键概念

  • 当物点不在焦点平面上时,在像平面上形成的不是一个点,而是一个小圆
  • 这个圆就叫做弥散圆
  • 弥散圆直径小于某个临界值时,人眼仍然认为是"清晰的"

焦深(Depth of Focus)

定义

焦深是指在物距固定的情况下,像平面可以前后移动而仍能获得清晰像的距离范围。

数学推导

设透镜光圈的有效直径为 D,焦距为 f,许可弥散圆直径为 δ

对于物距为 u 的物点,当像平面偏离理想像平面距离 Δv 时,弥散圆半径为:

​r = \frac{D}{2} \times \frac{|\Delta v|}{v}

其中 v 是理想像距。

要求弥散圆直径不超过 δ,即:​2r \leq \delta

因此焦深为:

​\text{DOF} = \frac{2\delta v}{D} = \frac{2N\delta v}{f}

其中 N 为光圈f数,f 为理想焦距。

焦深的影响因素

因素 关系 说明
光圈大小 反比 光圈越大,焦深越小
焦距 反比 焦距越长,焦深越小
像距 正比 像距越大,焦深越大
许可弥散圆 正比 分辨率要求越高,弥散圆越小,景深越小

这个表格清晰地展示了影响焦深的各个因素及其关系。


image-NlPw.png

景深(Depth of Field)

定义

景深是指在像距固定的情况下,物空间中能够形成清晰像的距离范围。

深入分析

前景深和后景深

设对焦距离为 ​u,对应像距为 ​v。考虑许可弥散圆 ​\delta

前景深(近点到对焦点的距离): ​\Delta u_1 = \frac{\delta u^2 N - \delta u N f}{f^2 + u\delta N}

后景深(对焦点到远点的距离): ​\Delta u_2 = \frac{\delta u^2 N - \delta u N f}{f^2 - u\delta N}

总景深​\text{DOF}_{\text{total}} = \Delta u_1 + \Delta u_2 = \frac{2\delta N u^2 f^2 - 2\delta u N f^3}{f^4 - \delta^2 u^2N^2}

在通常情况下,u 远大于 f,因此可以简化为: ​\text{DOF}_{\text{total}} = \Delta u_1 + \Delta u_2 = \frac{2\delta N u^2 f^2}{f^4 - \delta^2 u^2N^2}

景深的影响因素

1. 光圈系数(​N = \frac{f}{D}

  • 光圈系数越大(光圈越小),景深越大

  • 原因:小光圈限制了边缘光线,减小了离焦时的弥散圆大小

    image-UWcZ.png

    image-LWeR.png

2. 焦距(f)

  • 焦距越短,景深越大

    • 广角镜头(短焦距):景深大

    • 长焦镜头(长焦距):景深小

      image-YRQR.png

3. 对焦距离(​u_0

  • 对焦距离越远,景深越大
    • 远距离对焦:景深大,接近无穷远时后景深趋向无穷
    • 近距离对焦:景深小,微距摄影时景深极浅

实际应用分析

摄影中的景深控制

人像摄影

  • 目标:突出主体,虚化背景
  • 方法:大光圈(f/1.4-f/2.8) + 长焦距 + 近距离对焦
  • 原理:三个因素协同作用,获得极浅景深

风景摄影

  • 目标:前景到远景都清晰
  • 方法:小光圈(f/8-f/16) + 广角镜头 + 超焦距对焦
  • 原理:最大化景深范围

超焦距(Hyperfocal Distance)

定义:当对焦在无穷远时,景深近界点到镜头的距离。

计算公式​H = \frac{f^2}{N\delta} + f

实用意义

  • 对焦在超焦距时,景深从 ​\frac{H}{2} 延伸到无穷远
  • 这是风景摄影中获得最大景深的技巧

数值实例

实例1:人像摄影

  • 镜头:85mm f/1.4
  • 对焦距离:2m
  • 传感器:全画幅相机(​\delta = 0.03\text{mm}
  • 计算结果:景深约 ​\pm 22\text{mm}
  • 效果:主体清晰,背景虚化

实例2:风景摄影

  • 镜头:24mm f/8
  • 对焦距离:超焦距(约2.4m)
  • 传感器:全画幅相机(​\delta = 0.03\text{mm}
  • 计算结果:景深从​1.2\text{m}到无穷远
  • 效果:前景到远景都清晰

Matlab code

% Depth of Focus and Depth of Field Calculation
% Author: sunfove
% Date: 2025-06-29
% All units are in millimeters (mm)

clear
clc

% === Input Parameters ===
N = 8;        % Aperture (f-number)
c = 0.03;       % Permissible Circle of Confusion (mm)
f = 24;         % Focal length (mm)
u = 2.4e3;       % Object distance (mm)
v = 20;         % Image distance (mm) [used only if u is not defined]

% === Image Distance Calculation (from thin lens equation) ===
if exist('u','var')
    v = 1 / (1/f - 1/u);
elseif exist('v','var')
    u = 1 / (1/f - 1/v);
end

% === Depth of Focus (image side tolerance) ===
dof0 = 2 * N * c * v / f;

% === Depth of Field (DoF) Calculations ===
du1 = (c * u^2 * N - c * u * N * f) / (f^2 + u * c * N);   % Front DoF, normal formula without c * u * N * f
du2 = (c * u^2 * N - c * u * N * f) / (f^2 - u * c * N);   % Rear DoF, normal formula without c * u * N * f
dof  = (2 * f^2 * u^2 * c * N - 2 * f^3 * c * u * N) / (f^4 - u^2 * c^2 * N^2);   % Total DoF

% === Hyperfocal Distance Calculations ===
H = f^2/(N*c) + f;


% === Print Results ===
fprintf('\n=== Depth of Field Calculation Results ===\n');
fprintf('Focal length (f): %.2f mm\n', f);
fprintf('Aperture (N): f/%.1f\n', N);
fprintf('Object distance (u): %.2f mm\n', u);
fprintf('Image distance (v): %.2f mm\n', v);
fprintf('Permissible circle of confusion (c): %.3f mm\n\n', c);

fprintf('Front Depth of Field (∆u1): %.2f mm\n', du1);
fprintf('Rear Depth of Field  (∆u2): %.2f mm\n', du2);
fprintf('Hyperfocal distance: %.2f mm\n', H);

if du2 < 0
    fprintf('Rear depth is negative ⇒ object is beyond hyperfocal distance ⇒ background is considered infinite.\n');
    fprintf('Total Depth of Field (DoF): infinite\n');
else
    fprintf('Total Depth of Field (DoF): %.2f mm\n', dof);
end


fprintf('\nDepth of Focus (image side tolerance): %.2f mm\n', dof0);