相机镜头、焦距与视野

news2024/9/20 1:06:32

随着非标准传感器尺寸的数码相机的出现,人们似乎对焦距、视场和数字倍增器以及它们之间的关系产生了许多困惑。本文旨在尝试消除一些困惑。

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 

首先让我们定义几个术语:

  • 焦距(Focal Length):镜头的焦距定义为镜头聚焦于无限远处的物体时,镜头光学中心(或相机镜头等复杂镜头的次要主点)到焦点(传感器)的距离。这是镜头的主要物理特性,可以在光学实验室中测量。无论镜头安装在哪种相机上,焦距都保持不变。 7mm 焦距镜头始终是 7mm 焦距镜头,300mm 焦距镜头始终是 300mm 焦距镜头
  • 视野(Field of View):镜头的视野(有时称为覆盖角或视角)定义为物体在相机的胶片或传感器上记录的角度(在物体空间中)。它取决于两个因素,镜头的焦距(见上文)和胶片或传感器的物理尺寸。由于它取决于胶片/传感器尺寸,因此它不是镜头的固定特性,并且只有在知道将要使用的胶片或传感器的尺寸时才能说明。对于用于形成矩形框架的镜头,通常会给出三个视野;水平 FOV、垂直 FOV 和对角线 FOV
  • 数字倍增器(Digital Multiplier):数字倍增器是一个术语,随着传感器小于 35mm 相机框架尺寸的数码相机的使用增加而开始使用。由于镜头的视角取决于镜头的焦距和图像的大小,因此你可以定义一个“数字倍增器”,即镜头焦距必须增加的倍数,才能提供与镜头在数字传感器上相同的视角。例如,安装在带有“1.6x”倍增传感器的数码相机上的 100mm 焦距镜头在该相机上的视野与安装在全画幅 35mm 相机上的 160mm 镜头相同。它仍然是 100mm 焦距镜头,但它的作用就像 160mm 镜头在全画幅相机上的作用一样。

从摄影的角度来看,我们真正最感兴趣的是视野。如果我们想要广角拍摄,我们需要宽视野(例如,水平 84 度)。如果我们想要“正常”拍摄,我们需要“正常”视野(例如,水平 40 度),如果我们想要远摄拍摄,我们需要一个狭窄的视野(例如,水平 6.5 度)。

左图:鱼眼 右图:由鱼眼直线转换而来

对于那些习惯于以 35 毫米相机来思考的人来说,这些分别对应于焦距为 20 毫米、50 毫米和 300 毫米的镜头。然而,对于 4x5 相机用户来说,他们会考虑广角 80 毫米镜头、200 毫米标准镜头和 1200 毫米远摄镜头。

所以,视野不是由焦距决定的,而是由焦距和格式大小定义的。这就是为什么当我们谈到 APS-C 格式的数码单反相机(传感器约为 15 毫米 x 22 毫米)时,广角镜头现在是 12.5 毫米,标准镜头现在是 32 毫米,远摄镜头现在是 188 毫米。请注意,这些数字与 35 毫米数字除以“1.6 倍数字乘数”(或在本例中为“1.6 倍数字除法器”)相同。

1、直线镜头和鱼眼镜头

在摄影中,你会发现两种类型的镜头。

第一种是直线镜头(rectilinear lens),这是一种典型的镜头,它将拍摄对象中的所有直线渲染为图像中的直线(见下图)。这几乎是我们的眼睛看事物的方式,也正是针孔相机看事物的方式。对于正常和远摄用途,直线镜头是理想的选择,但对于极端广角用途则不然。在非常广角的镜头中,靠近画面边缘的物体会被“拉伸”。也不可能制作出具有 180 度(半球)覆盖范围的直线镜头。事实上,很难制作出水平覆盖范围超过 100 度的直线镜头

第二种镜头是鱼眼镜头(fisheye lens)。鱼眼镜头将不穿过画面中心的直线渲染为曲线(尽管穿过中心的线条仍然是直线)。画面边缘的物体没有被拉伸,但会变形。很容易制作出对角线覆盖范围为 180 度的镜头(“全画幅鱼眼镜头”),甚至水平、垂直和对角线视场均为 180 度的镜头(“圆形画幅鱼眼镜头”)——尽管这会导致图像呈圆形,而画面的其余部分则为暗色。

鱼眼镜头最初是为科学用途而制造的,因为它们具有半球形覆盖范围,可以在单个画面上成像整个天空,因此可用于天文和气象研究。第一台“鱼眼”相机是装满水的针孔相机,但幸运的是,技术已经想出了更方便的方法来制作鱼眼图像!

上图显示了直线镜头和鱼眼镜头的针孔模型。在鱼眼镜头中,广角光线更多地向画面中心弯曲。要使用真实镜头实现这一点,必须使用非常大、弯曲度非常大的负前部元件,如下面的镜头图所示:

2、计算直线镜头的视野

使用简单的三角函数,可以非常轻松地计算出聚焦于无限远处的直线镜头的视野。其公式为:

FOV (rectilinear) =  2 * arctan (frame size/(focal length * 2))

此处的 frame size是指图像帧在 FOV 方向上的尺寸,因此对于 35mm(即 24mm x 36mm),水平 FOV 的帧尺寸为 36mm,垂直 FOV 的帧尺寸为 24mm,对角线 FOV 的帧尺寸为 43.25mm。

当镜头聚焦在比无限远更近的距离时,视野会变窄,但除非进入微距范围,否则变化非常小。修正公式为:

FOV (rectilinear) =  2 * arctan (frame size/(focal length * 2 * (m+1)))

其中 m是放大倍数。在无穷远处,m=0,因此第一个公式适用。对于全画幅 35mm 相机,聚焦在无穷远处的 50mm 镜头的水平视野约为 39.6 度。对于聚焦在 0.55m 处的相同 50mm 镜头,放大倍数为 0.1,视野缩小到 36.2 度,因此你可以看到,即使对于非常近的焦点(0.55m 小于 22 英寸),FOV 也不会发生太大变化。

放大倍数可以通过以下方式估算:

m = (focal length)/(focus distance - focal length)

这是 50mm 镜头在 35mm 画幅上的水平视角与焦距的关系图。如你所见,视角保持相当恒定,直到焦距变得很短。


这是对数轴上的相同图,以便你可以更好地看到短焦距下事物的变化:

3、计算鱼眼镜头的视野

鱼眼镜头的情况则更为复杂,因为不存在所谓的“鱼眼”方程。相反,不同的鱼眼镜头制造商使用了几种不同的“映射方程”或“投影”。

最常见的可能是等立体角投影,无限远焦点的 FOV 如下:

FOV (equisolid fisheye) = 4 * arcsin (frame size/(focal length * 4))

等距投影也很流行,其视野由以下公式给出:

FOV (equidistance fisheye) = (frame size/focal length)*57.3

上式中57.3 是用于从弧度转换为度。

不太常见的是正交投影,它提供以下视野:

FOV  (orthogonal fisheye) = 2 * arcsin (frame size/(focal length *2)

立体投影给出:

FOV (stereographic fisheye) = 4 * arctan (frame size/(focal length * 4))

当然,就像直线镜头很少真正是直线的(它们会受到桶形和枕形失真的影响)一样,鱼眼镜头通常不遵循这些方程所建议的精确映射。除非你尝试进行涉及将鱼眼图像中的点精确转换为“真实世界”坐标的科学研究,否则这通常无关紧要。

你可以将各种直线和鱼眼投影视为与地图投影有些类似。我们都知道地球是一个球体,但我们可以使用墨卡托投影在矩形地图上用水平和垂直直线表示纬度和经度来表示它。这可以看作是直线镜头映射的类比。然而,就像直线镜头倾向于拉伸边缘的物体一样,这种地图投影会拉伸极点附近的区域。鱼眼镜头投影将对应于各种地图投影,其中纬度和经度线不再是直线,而是面积成比例,例如方位角等面积。每种映射方案都会以某种方式扭曲“现实”。我们更习惯于看到其中一种,因此我们会认为其中一种是“正常的”,另一种是“扭曲的”,但这并不完全正确。

下图显示了对于给定焦距的直线镜头和四种鱼眼镜头,视野与帧尺寸之间的关系。如你所见,无论帧尺寸有多大,直线镜头都无法达到 180 度视野,但所有鱼眼镜头都可以。你还可以看到,对于所有镜头,视野都会随着帧尺寸的增大而增大。

C 和 D 分别是等距和等立体角鱼眼(最常见),B 和 E 分别是立体和正交鱼眼(很少使用)

请注意,你不能随便使用任何镜头并使用非常大的帧来获得宽阔的视野。镜头的成像圈是镜头可以形成的最大图像的直径。由于光学元件的尺寸有限或设计的其他特征,该直径之外的镜头晕影会切断图像。设计用于全画幅 35mm 相机的镜头必须设计为具有至少 43.5 mm 的成像圈,因为 35mm 框架的对角线尺寸为 43.25mm。制造具有大成像圈的短焦距镜头非常困难。

4、示例

使用上述信息,我们可以计算出,例如,设计用于 35mm 的全画幅鱼眼镜头在 APS-C 相机上使用时的视野。让我们以 15mm 鱼眼镜头为例。假设它使用等立体角投影,因此 FOV 由 4 * arcsin(帧大小/(焦距 * 4))给出。

对于 24 x36mm 帧,这给出 147.5 度的水平 FOV、94.3 度的垂直 FOV 和 185 度的对角线 FOV。佳能为其 15/2.8 鱼眼镜头给出的数字为 142、92 和 180,因此映射不是完全等立体角,但它是典型的全画幅鱼眼镜头,对角线覆盖范围约为 180 度

对于 22.7 x 15.1mm 传感器(APS-C),数字变为:水平 FOV = 88.9 度,垂直 FOV = 58.3 度,对角线 FOV = 108.1 度。如果对鱼眼图像进行“去鱼眼”处理,即将图像转换为直线映射,则保留水平和垂直视场,拉伸图像边缘并减小对角线视场。因此,如果对图像进行“去鱼眼”处理,你将获得一个水平视场约为 88 度、垂直视场约为 58 度的图像。这相当于 19 毫米镜头的水平视场和 22 毫米镜头的垂直视场。这怎么可能呢?如果是 APS-C 传感器,当图像“去鱼眼”处理时,垂直与水平的比例为 1:1.5,并且更接近 1:1.7


原文连接:相机焦距和视野 - BimAnt

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

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

相关文章

2024 年 6 月公链行业研报:市场回调,比特币和以太坊 Layer 2 表现各异

作者:stellafootprint.network 数据来源:公链 Research 页面 六月,加密货币市场经历了显著的挑战。比特币因即将到来的 Mt. Gox 赔偿支付及政府清算的压力,导致市场不确定性加剧。尽管美国现货以太坊 ETF 的推进带来了积极信号…

Doris安装部署

1、 MPP概念 MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络…

代码随想录(day4)-移除链表元素

题目: 注意:因为可能存在头部元素就是val值,所以可以设置虚拟头部元素,且要保证头部元素不为空。如果头部元素为空,那么又怎么指向下一个元素呢。注意是nexthead! 判断是不是等于val时,是current.next.val…

广电影视NAS共享非编存储磁盘阵列

影视制作通常会涉及大量的视频、音频、图像以及各类素材的处理,因此往往需要制作团队来协作完成。那么影视存储能否做到高效、方便、安全的共享,就成为了影视项目按时交付的关键。GS G3影视共享非编存储解决方案文件级性能可达13.5GB/s的读,5…

YOLOv10改进 | 特殊场景检测篇 | 轻量级的低照度图像增强网络IAT改进YOLOv10暗光检测(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是轻量级的变换器模型:Illumination Adaptive Transformer (IAT),用于图像增强和曝光校正。其基本原理是通过分解图像信号处理器(ISP)管道到局部和全局图像组件,从而恢复在低光…

ret2csu简单总结

一个比较进阶的rop利用方式。 Why ret to csu? 当程序给的gadget不够,或者输入长度受限时,可以考虑利用csu中的众多gadget以及一个call指令来劫持控制流。 __libc_csu_init 汇编源码: .text:0000000000400790 ; void __fastcall _libc_c…

el-upload 上传多个图片或多个文件,编辑,回显,删除操作

后端查询详情接口数据: [{"id": 91,"name": "Default","sort": 0,"fold": false,"deletable": false,"uniqueId": "machine_cabinet","infoList": [{"id": …

Qt打包软件

打包 基础打包 要配置好qt的环境变量 在编译好的release目录下面执行 windeployqt myapp.exe复杂打包 下载软件:http://www.jrsoftware.org/isdl.php#stable (1)打开 Inno Setup Complier,点击 【file】→【new】,新建一个脚…

鸿蒙Navigation的页面跳转官方代码

星河版本 文章部分代码来源于官方 文章部分代码来源于官方只是自己改了容易理解 与API4不同的Navigation 新版本使用的思路是 1、创建页面栈 pageInfos: NavPathStack new NavPathStack();2、resources/base/profile创建 router_map.json 文件 {"routerMap":…

视频监控汇聚平台LntonCVS视频集中存储平台解决负载均衡的方案

随着技术的进步和企业对监控需求的增加,视频监控系统规模不断扩大,接入大量设备已成常态化挑战。为应对这一挑战,视频汇聚系统LntonCVS视频融合平台凭借其卓越的高并发处理能力,为企业视频监控管理系统提供可靠的负载均衡服务保障…

公司网站建站模板源码系统 响应式网站模版 随心自定义 带完整的代码包以及搭建部署教程

系统概述 公司网站建站模板源码系统是一套基于最新技术开发的网站建设解决方案。该系统集成了众多先进的网站开发工具和功能模块,旨在帮助企业快速构建出美观、实用的公司网站。通过采用模块化设计,系统实现了高度可定制性,企业可以根据自身…

一文读懂:RHEL如何通过control-center建立安全的IPsec VPN连接

大家好,这里是G-LAB IT实验室。虚拟专用网络(VPN)是一种通过互联网连接到本地网络的方法。Libreswan 提供的 IPsec 是创建 VPN 的首选方法。libreswan 是 VPN 的用户空间 IPsec 实现。VPN 通过在中间网络(如互联网)设置一个隧道来启用 LAN 和…

【Ubuntu-18.04.6 LTS (Bionic Beaver)】串口无法root登录解决方案

root用户无法再窗口登录 用户界面登录提示 soory that didnot work 解决方案 GDM 配置 /etc/gdm3/custom.conf 中增加或删除注释 [security] AllowRoottrue重启服务 service gdm restart确认 PAM 配置 GDM 使用 PAM 进行认证,可能 PAM 配置中限制了 root 登录…

22_单阶段目标检测-SSD算法理论

1.1 简介 SSD(Single Shot MultiBox Detector)是一种在深度学习领域广泛使用的对象检测算法,由Wei Liu等人在2015年提出。它是“单阶段”(one-stage)检测器的一个典型代表,与之相对的是像R-CNN系列这样的“…

【精简教程】VSCode 连接 Remix

初始化 Node.js 项目 yarn init v1.22.19安装 Remix yarn add remix-project/remixd -g⚠️ 此时如果直接敲 remix,显示找不到这个命令。 使用 Node.js 来直接执行 remixd.js 文件 node node_modules\remix-project\remixd\src\bin\remixd.js😄 连接上了…

软件供应链安全:如何防范潜在的攻击?

来源:https://thehackernews.com/2024/06/practical-guidance-for-securing-your.html 软件生产组织面临越来越大的监管和法律压力,要求其保护供应链并确保软件的完整性,这不足为奇。在过去几年里,软件供应链已经成为攻击者越来越…

【漏洞复现】docassemble——interview——任意文件读取

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 docassemble 是一款强大的开源工具,它让自动化生成和…

泛微e-cology getFileViewUrl接口存在SSRF漏洞复现 [附POC]

文章目录 泛微e-cology getFileViewUrl接口存在SSRF漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现0x06 修复建议泛微e-cology getFileViewUrl接口存在SSRF漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章…

运维圈都在“卷”的可观测性,还有这些要点运维人必须知道

在信息技术的快速发展下,IT运维领域在2018年迎来了一个全新的概念——“可观测性”(Observability),并迅速成为云原生技术领域的热点话题,被Gartner列为“2023年十大战略技术趋势”之一。Gartner预测,到202…

ipv4和ipv6的兼容性问题

ipv4和ipv6的兼容 现今大多知名网站都是同时支持ipv6和ipv4,这种可以分为两种情况讨论: 一个IPv4的网络和一个IPv6的网络通信;一个IPv6的网络和一一个IPv6的网络通信,但是中间需要经过一一个IPv4的网络。 先以第一种为例: 若一…