相机等效焦距

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

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

规格长度/mm宽度/mm对角线/mm焦距系数
全画幅362443.271
4/317.313.021.642
1/1.7英寸7.765.829.74.46
1/1.8英寸7.25.38.944.84
1/2.0英寸6.44.88.05.41
1/2.5英寸5.764.297.186.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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/19962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ vector的使用和简单模拟实现(超级详细!!!)

目录 前言 1.STL是什么 2.vector使用 2.1 vector简介 2.2 常用接口函数 1. 构造函数 2.operator[ ]和size,push_back 3. 用迭代器进行访问和修改 4. 范围for遍历 5.修改类型函数 pop_back find insert erase 6. 容量相关函数capacity resize reserve 3.…

05.爬虫---urllib与requests请求实战(GET)

05.urllib与Requests请求实战GET 1.Urllib模块2.Requests模块3.对比4.实战 GET请求 Python中的GET请求也是HTTP协议中的一种请求方法,用于向服务器请求数据。与POST请求不同,GET请求将数据以查询字符串的形式附加在URL后面,而不是封装在请求体…

Windows10专业版系统安装Hyper-V虚拟机软件

Windows10专业版系统安装Hyper-V虚拟机软件 适用于在Windows10专业版系统安装Hyper-v虚拟机软件。 1. 安装准备 1.1 安装平台 Windows 10 1.2. 软件信息 软件名称软件版本安装路径windowswindows 10 专业版Hyper-vHyper-v 2. Hyper-v搭建 2.1打开cmd软件 2.2打开控制面…

20 厂商文档学习资料查询

01 厂商介绍 新华三(H3C) 新华三是一家专注于IT基础设施产品和解决方案的公司,提供从网络设备到数据中心解决方案的全套服务。它是中国领先的网络解决方案供应商之一,业务涵盖企业网、数据中心、云计算等多个领域。 华为&#x…

Golang dlv远程debug

1. 前期准备 1.1. dlv安装 1.1.1. go install安装 go install github.com/go-delve/delve/cmd/dlvlatest1.1.2. 手动安装 下载 linuxx86 架构 二进制文件 📎dlv.linux.x86.zip zip文件,下载后( 如果没权限,记得 执行chmod ax…

网络性能测试工具:iperf3介绍

文章目录 前言一、iperf3 的安装和使用下载和安装参数说明 二、iperf3 测试服务端启动客户端启动服务端输出反向测试客户端服务端 前言 新接触的网络环境如何评估网络带宽和吞吐量呢,有的项目没有对业务流量进行合理规划,服务或者中间件出口带宽经常有被…

Unity屏幕分辨率适配方法

Unity屏幕分辨率适配方法 在Unity中实现屏幕分辨率适配,可以使用以下几种方法: 1. 使用Canvas Scaler 创建Canvas: 在Unity编辑器中创建一个Canvas,它将自动添加一个Canvas Scaler组件。 设置Canvas Scaler: 选择Ca…

golang语言的gofly快速开发框架如何设置多样的主题说明

本节教大家如何用gofly快速开发框架后台内置设置参数,配置出合适项目的布局及样式、主题色,让你您的项目在交互上加分,也是能帮你在交付项目时更容易得到客户认可,你的软件使用客户他们一般都是不都技术的,所以当他们拿…

prometheusgrafananode_export搭建监控平台

一、环境要求 1、docker安装docker环境 2、docker安装prometheus 3、docker安装grafana 4、node-exportor(安装在被测服务器上) 5、我的服务器是Ubuntu 二、docker 安装prometheus 1、下载Prometheus镜像 docker pull prom/prometheus 2、检查端口是否被占用 安装netstat命…

在Github找自己想要的的项目

点击进入github 1.首先进入到github的首页;搜索框搜(先关键字搜索)in:name 你的找的项目 比如: in:name Sping Boot2.进一步检索(点赞数高的) in:name Sping Boot star:>1000 3.如何要找最新的&…

初级硬件工程师,工作中遇到的问题list

1)元器件选型 刚进公司一般情况下是不会让新人选型的,最起码一年之后才会逐步接触,需要耐得了寂寞和坐冷板凳。但是有一种情况除外,人手紧张,并且电路板简单,会让新人选择简单的元器件,比如按键…

2024.5.31每日一题

LeetCode 找出缺失的重复数字 题目链接:2965. 找出缺失和重复的数字 - 力扣(LeetCode) 题目描述 给你一个下标从 0 开始的二维整数矩阵 grid,大小为 n * n ,其中的值在 [1, n2] 范围内。除了 a 出现 两次&#xff…

Python开发 我的世界 Painting-the-World: Minecraft 像素图片生成器

简介 Painting-the-World 是一款创新的工具,专为《我的世界》(Minecraft) 玩家及创作者设计,旨在将数字图片转变为游戏内的像素艺术。通过利用 RCON (Remote Console) 协议,本项目可以直接与《我的世界》服务器对话,根据输入的图…

双点双向重发布

1、由于ASBR在重发布路由条目时,将清除原有协议携带的度量,添加新协议的种子度量;一日使用双点或多点重发布,可能出现选路不佳;-----路由策略来解决 2、当优先级不同的两种协议在进行多点双向重发布后,可能第一台ASBR将A协议发布到B协议后&a…

Android MediaCodec 简明教程(九):使用 MediaCodec 解码到纹理,使用 OpenGL ES 进行处理,并编码为 MP4 文件

系列文章目录 Android MediaCodec 简明教程(一):使用 MediaCodecList 查询 Codec 信息,并创建 MediaCodec 编解码器Android MediaCodec 简明教程(二):使用 MediaCodecInfo.CodecCapabilities 查…

万户ezEIP企业管理系统 /member/success.aspx 命令执行漏洞复现

0x01 产品简介 万户ezEIP是一种企业资源规划软件,旨在帮助企业管理其各个方面的业务流程。它提供了一套集成的解决方案,涵盖了财务、供应链管理、销售和市场营销、人力资源等各个领域。 0x02 漏洞概述 万户ezEIP企业管理系统 /member/success.aspx 接口处存在命令执行漏洞…

可变参数

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中,还可以定义可变参数。可变参数也称不定长参数,即传入函数中的实际参数可以是任意多个。 定义可变参数时&#xf…

IT运维保障企业网络畅通

目录 一、网络维护的基础知识 1.1 定期检查硬件设备 1.2 软件更新与补丁管理 二、网络优化技巧 2.1 带宽管理 2.2 流量分析与监控 2.3 网络拓扑优化 三、快速故障排除的技巧 3.1 制定故障排除流程 3.2 使用故障排除工具 3.3 定期培训与演练 在当今数字化时代&#x…

自然语言处理中的BERT模型深度剖析

自然语言处理(NLP)是人工智能领域的一个重要分支,它致力于让计算机理解和生成人类语言。近年来,BERT(Bidirectional Encoder Representations from Transformers)模型的出现,极大地推动了NLP领域…

【Linux】Linux环境基础开发工具_3

文章目录 四、Linux环境基础开发工具2. vim3. gcc和g动静态库的理解 未完待续 四、Linux环境基础开发工具 2. vim vim 怎么批量化注释呢?最简单的方法就是在注释开头和结尾输入 /* 或 */ 。当然也可以使用快捷键: Ctrl v 按 hjkl 光标移动进行区域选择…