相机等效焦距

1. 背景

物理焦距我们很熟悉,但是在接触实际的相机参数时,相机厂家会提到一个参数等效焦距 ,甚至有时候不提供物理焦距,这时候如果我们得到真实的物理焦距需要进行一定的转换.在介绍两者之间的转换关系前,先介绍一下等效焦距的由来.

如上图,假设在某一个镜头,其成像面会出现图上圆形的视野,假设红色框为全画幅CMOS,蓝色框为半画幅,可见相同镜头下,即相同焦距下,由于画幅的不同最终导致的视野也不同,而历史原因导致人们更加习惯了用焦距来评估相机的视角,因此为了统一不同画幅下焦距对视角的影响,人们引入了等效焦距 .

既然是等效 ,那么必须选取一个标准才能进行所谓的等效.由于全画幅(36x24mm)(也加35mm相机)比较经典,所以就选用全画幅作为标准画幅.

2. 换算方式

了解了等效焦距的背景及意义,要计算等效焦距和物理焦距就很简单.观察上图,假设感光元件A是全画幅的CMOS,而感光元件B是某一种画幅下的CMOS,物理焦距 f p h y f_{phy} fphy 和 等效焦距 f e q u f_{equ} fequ 通过相似三角形就可以得到:

f e q u = f p h y s e q u s p h y = f p h y ∗ c f_{equ} = f_{phy} \frac{s_{equ}}{s_{phy}} = f_{phy} * c fequ=fphysphysequ=fphy∗c

上式中, s e q u s_{equ} sequ 和 s p h y s_{phy} sphy 均指的是画幅的对角线长度.至于为什么选用对角线,是因为不同画幅可能比例不一致,为了统一便选用了对角线. c c c 称为焦距系数.可见等效焦距与物理焦距只相差一个画幅对角线的比例.

3. 不同规格的CMOS的焦距系数

规格 长度/mm 宽度/mm 对角线/mm 焦距系数
全画幅 36 24 43.27 1
4/3 17.3 13.0 21.64 2
1/1.7英寸 7.76 5.82 9.7 4.46
1/1.8英寸 7.2 5.3 8.94 4.84
1/2.0英寸 6.4 4.8 8.0 5.41
1/2.5英寸 5.76 4.29 7.18 6.02
...

CMOS的规格较多,不一一列举.

4. 举个栗子

在做项目时候遇到这个问题,大疆的御3飞机配备的是M3TD相机,其中广角相机的参数如下:

  • CMOS: 4/3
  • 分辨率: 4032x3024
  • 视角: 84deg
  • 等效焦距: 24mm

大疆没有直接给出物理焦距,所以唯有自己换算.通过上面的表很容易得出物理焦距为12mm,为了验证其正确性,使用视角和CMOS的尺寸进行如下计算
t a n ( 84 d e g 2 ) ≈ 21.64 / 2 12 tan(\frac{84deg}{2}) \approx \frac{21.64/2}{12} tan(284deg)≈1221.64/2

相关推荐
yyy(十一月限定版)31 分钟前
寒假集训4——二分排序
算法
星火开发设计31 分钟前
类型别名 typedef:让复杂类型更简洁
开发语言·c++·学习·算法·函数·知识
醉颜凉42 分钟前
【LeetCode】打家劫舍III
c语言·算法·leetcode·树 深度优先搜索·动态规划 二叉树
达文汐1 小时前
【困难】力扣算法题解析LeetCode332:重新安排行程
java·数据结构·经验分享·算法·leetcode·力扣
一匹电信狗1 小时前
【LeetCode_21】合并两个有序链表
c语言·开发语言·数据结构·c++·算法·leetcode·stl
User_芊芊君子1 小时前
【LeetCode经典题解】搞定二叉树最近公共祖先:递归法+栈存路径法,附代码实现
算法·leetcode·职场和发展
算法_小学生1 小时前
LeetCode 热题 100(分享最简单易懂的Python代码!)
python·算法·leetcode
执着2591 小时前
力扣hot100 - 234、回文链表
算法·leetcode·链表
Gorgous—l1 小时前
数据结构算法学习:LeetCode热题100-多维动态规划篇(不同路径、最小路径和、最长回文子串、最长公共子序列、编辑距离)
数据结构·学习·算法
熬夜造bug1 小时前
LeetCode Hot100 刷题路线(Python版)
算法·leetcode·职场和发展