小淼博客

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  282 随笔 :: 0 文章 :: 102 评论 :: 102万 阅读

🚀景深分析

     景深(depth of field)定义:摄影机镜头或其他成像器前沿能够取得清晰图像的成像所测定的被摄物体前后距离范围。
通俗讲即被拍摄物体对焦点(focus point)*面处的景物,在胶片上会形成清晰影像,在对焦点*面的前方某处到其后方某处有一个范围,其内的景物都能形成清晰影像,这一范围称为景深,讨论景深,一般我们用“深浅”形容,即浅景深(narrow depth of field)或大景深(large depth of field)。

1. 景深原理

     理解景深原理前,我们必须明白一件事:当我们对焦时,其实只有一个*面是真正合焦的。这个*面与像*面(可以简单理解为胶片或者传感器*面)*行。凡是在这个*面之前或者之后的都不是合焦状态。合焦*面上物体某点发出不同角度的光在像*面成像都汇聚于一点,而非合焦物体的某点发出不同角度的光会落在像*面不同点上,形成一个模糊圆,这个圆术语叫做弥散圆(circle of confusion)。

     所以没有对上焦的东西,在底片上看起来就是模糊的。如果拍的是一个灯泡的话,就会看起来像是一个圈。下面看看弥散圆和对焦距离的关系,非合焦*面1距离合焦*面较远,其在像*面弥散圆越大,而非合焦*面2距离合焦*面较*,像*面上弥散圆较小。因此离合焦*面得越*,弥散圆就越小。

     如果弥散圆小到人眼无法鉴别(或者说弥散圆直径小于传感器像元的大小),模糊圆可被视为点的成像,看起来就和对上焦的东西一样清晰,此无法分辨的弥散圆称为容许弥散圆(permission circle of confusion)。在被摄物体(对焦点或合焦*面)前后纵深,有一段距离,其影像在像*面的模糊程度肉眼无法分辨,比较清晰,都在容许弥散圆限定范围内,它们之间距离称为景深。

2. 景深计算

I. 通用计算公式

参数 物理意义
L 合焦物距(拍摄距离)
δ 容许弥散圆直径
F 镜头光圈值
f 镜头焦距

II. 普通相机计算公式简化

拍照大多是中长拍摄距离,即 L 远大于 f ,根据成像公式:

1u+1v=1f

基本参数:

  • σ :弥散圆直径
  • f :镜头焦距
  • F :镜头光圈大小
  • L :对焦距离
  • ΔL1 :前景深
  • ΔL2 :后景深
  • ΔL :景深

计算公式:

ΔL1=FσL2f2+FσLΔL2=FσL2f2FσLΔL=ΔL1+ΔL2=2f2FσL2f4F2σ2L2

Matlab Code: 🌻

f = 16;
F = 5.6;
delta = 0.03;
L = 200;

DOF = 2*f^2*F*delta*L*(L-f)/(f^4 - F^2*delta^2*(L-f)^2);

fprintf("DOF val is:%f\n", DOF);

🚀 在线景深计算器

III. 景深影响因素

由景深计算公式可知,景深与镜头使用光圈、镜头焦距、拍摄距离以及对像质的要求(表现为对容许弥散圆的大小)有关。这些因素对景深的影响如下:

  • 镜头光圈:光圈越大,景深越小;光圈越小,景深越大;
  • 镜头焦距:镜头焦距越长,景深越小;焦距越短,景深越大;
  • 拍摄距离:距离越远,景深越大;距离越*,景深越小。

a. 镜头光圈
光圈大小无疑是我们控制景深最为有效的因素了。我们可以借用下面这张图来看一下景深的作用效果:

光圈大小与景深深浅成反比,光圈越大,景深越浅。

b. 镜头焦距
     镜头焦距的长短同样也左右着景深的效果。以下图为例,在同样的光圈和拍摄距离下,同样一张照片,仅仅是焦距的变化(左边:24MM;右边:70MM),景深也随之变化。
焦距较长的镜头能提供较浅的景深,以及较大的前景深,这可以更加突显出焦点的部份,因为模糊部份被扩大了。

c. 成像距离
拍摄距离的远*也是影响景深大小的重要因素。被拍摄的物体距离镜头越*,景深就会越浅。

3. 弥散圆直径选择

以下为普通数码相机弥散圆计算方式
     通常情况下,肉眼分辨率为而千分之一至五千分之一。人眼在明视距离(眼睛正前方30厘米)能够分辨的最小物体尺寸大约为 0.125mm 。所以,弥散圆放大在7寸照片(这是个常用尺寸)也只能是 0.125mm 以内,也就是图像对角线长度的 1/1730 左右。这个 1/1730 左右的弥散圆大小对于任何大小的底片或者 CCD 都适用,因为它们放大出的7寸照片,都可以将弥散圆控制在 0.125mm 。所以蔡斯公司制定的标准就是弥散圆直径 δ=1/1730 底片对角线长度。

在这里可以看出:景深是相对的,不是绝对的,和弥散圆直径 δ的取值大小有着直接的关系。

🌻 容许弥散圆直径的计算公式 δ=d/1730 ,d为CCD芯片对角线长度(芯片尺寸)。

4. 工业相机应用

工业相机一般拍摄*距离物体,放大倍率 M 值较大,根据成像放大倍率公式:

M=fLf

景深公式简化为:

DOF=2f2Fδ(1+M)M2f2F2δ22Fδ(1+M)M2

  • 镜头光圈:光圈越大,景深越小;光圈越小,景深越大;
  • 容许弥散圆直径:容许直径越大,景深越大
  • 放大倍率:倍率越大,景深越小

景深受放大倍率影响较大,随着放大倍率增大快速降低:

上图中光圈值 F=12 ,容许弥散圆直径 δ=0.04mm

     一般工业相机弥散圆直径选取 0.04mm ,而随着*年相机芯片像元尺寸的减小,弥散斑取 0.04mm 已远大于芯片的分辨能力。而且严格而言,同一个镜头,搭配不同像元尺寸的相机,由于允许的弥散圆直径大小的不同,景深也会有所差异。但习惯上,机器视觉行业各镜头厂商仍以弥散圆直径 =0.04mm 来计算景深。 因此镜头实际测试出的景深值 < 镜头参数标示出的景深理论值。

Reference

  1. 光学系统景深(DOF) 概念及原理说明
  2. CH3664A.step
posted on   小淼博客  阅读(45)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
历史上的今天:
2016-07-06 python开发环境PyCharm安转注册

大家转载请注明出处!谢谢! 在这里要感谢GISPALAB实验室的各位老师和学长学姐的帮助!谢谢~

点击右上角即可分享
微信分享提示