镜头基础知识

本文介绍镜头基础知识。

1.焦距

焦距指透镜中心到光聚集之焦点的距离,如下图,通常用f表示。

凸透镜

焦距是正值,一束平行光将会聚集在一个点上,焦距是负值,一束平行光在通过透镜之后将会扩散开。

注意:

1)这里是平行光通过透镜汇聚在一点,与拍摄景物没有关系。

2)不同波长的光焦距是不一样的。

2.物距

物距指物体到透镜中心的距离。

3.像距

像距指像到透镜中心的距离。

物距,像距和焦距之间的关系满足:

其中:

u为物距

v为像距

f为焦距

f一定,u,v为共轭关系,即物距越远,像距越近;相反,物距越近,像距越远。

我们用相机(这里以定焦镜头为例)拍照片时,拍摄的景物离我们越远,就需要把镜头往里调一下(减小像距) ,拍摄的景物离我们越近,需要把镜头往外调一下(增大像距),这样才可以清晰的成像。

4.景深

景深是指在摄影机镜头或其他成像器前沿能够取得清晰图像的成像所测定的被摄物体前后距离范围。

被拍摄物体的前后(远点,近点)在成像过程中会在像距前后形成前后弥散圆,前后弥散圆内成像人眼是无法分辨其清晰的,换句话讲,人眼觉得这个范围内的成像都是清晰的,那么被拍摄的物体前后距离就被称为景深。

景深大物距前后较大范围内都可以清晰成像。景深浅物距前后只有较小范围内可以清晰成像。

5.光圈

光圈顾名思义,就是限制光的通量。光圈和景深有密切的联系:

1)光圈大,景深浅,但通光量大,信噪比高,有利于图像质量。

2)光圈小,景深大,但信噪比低,不利于图像质量。

6.F NO.(F-Number)

F数。镜头焦距f与光圈直径D的比值:f/D。常用的F数在1.4-22之间。

可见,焦距一定,F数和光圈成反比关系,即:F数越大,光圈越小,F数越小,光圈越大。

7.FOV

视场角。镜头观测的范围,与焦距和像面大小有关。如下图(对角线视场角):

视场角可分为对角线视场角(FOV-D)、水平视场角(FOV-H)、以及垂直视场角(FOV-V),对角线视场角最大,水平视场角次之,垂直视场角最小。通常讲的视场角一般是指数码摄像模组的对角线视场角。 

设镜头焦距为f,Image Sensor的对角线直径为d,对角线视场角为θ,则:

θ=2*arctan(d/(2*f))

由公式可知,Image Sensor尺寸一定,焦距和对角线视场角的关系:

1)焦距越短,视场角越大。

2)焦距越长,视场角越小。

8.MTF(Modulation Transfer Function)

光学调制传递函数。MTF定义为光的最亮度减去光的最暗度与光的最亮度加上光的最暗度的比值,也称作光的对比度,即:

M=(Imax-Imin)/(Imax+Imin)

如图,横轴为空间频率单位为lp/mm,纵轴为MTF值。

Image Sensor的极限分辨率:

F=1000/(2*Pixel_Size_W)

F单位为:lp/mm

Pixel_Size_W单位为:um

如Pixel Size为1.4um*1.4um

F=1000/(2*1.4)=357lp/mm

镜头的分辨率必须低于Image Sensor的极限分辨率,否则会出现一个Pixel Size容纳1个或多个黑白线对,从而无法分辨,表现在成像效果上会出现莫尔条纹。

9.CRA(Chief Ray Angle)

CRA指主光线角度,为主光线与平行光线的角度。如下图(其中θ即为CRA)。
主光线就是光线由物体的边缘出射,通过孔径光阑的中心最后到达像的边缘。
注意:主光线出射角度不合适会暗角严重,对比度下降,偏色。

10.解像力

解像力指镜头可以分辨黑白线对的能力。通常为每1mm可解析的线对(line-pair),单位为lp/mm,通常镜头解像力中心和边缘是不一样的,中心的解像力要比边缘的大。

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

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

相关文章

[C++项目] Boost文档 站内搜索引擎(2): 文档文本解析模块parser的实现、如何对文档文件去标签、如何获取文档标题...

项目开始的准备工作 在上一篇文章中, 已经从Boost官网获取了Boost库的源码. 相关文章: 🫦[C项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍… 接下来就要编写代码了. 不过还需要做一些准备工作. 创建项目目录 所有的项目文件肯定要在一…

JVM问题

1. jvm运行时区域划分及每个区域的作用 堆、方法区(元空间)、虚拟机栈、本地方法栈、程序计数器 2. 堆内存分配策略:新生代,老年代,gc时机 • 对象优先分配在Eden区,如果Eden区没有足够的空间进行分配时&am…

【Linux命令200例】which用于查找指定命令所在路径

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆本文已收录于专栏:Linux命令大全。 🏆本专栏我们会通过具体的系统的命令讲解加上鲜…

文件的写入 和 读取

文件的写入 需要包含的头文件 #include <unistd.h> 相关的API函数 ssize_t write(int fd, const void *buf, size_t count); 参数说明 int fd &#xff1a;文件描述符const void *buf &#xff1a;一个无类型的指针buf&#xff0c;是一个缓冲区size_t count&#xf…

22.Netty源码之解码器

highlight: arduino-light 抽象解码类 https://mp.weixin.qq.com/s/526p5f9fgtZu7yYq5j7LiQ 解码器 Netty 常用解码器类型&#xff1a; ByteToMessageDecoder/ReplayingDecoder 将字节流解码为消息对象&#xff1b;MessageToMessageDecoder 将一种消息类型解码为另外一种消息类…

Pytorch深度学习-----神经网络之Sequential的详细使用及实战详解

系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用&#xff08;ToTensor&#xff0c;Normalize&#xff0c;Resize &#xff0c;Co…

数据结构——单链表OJ题(第二弹)

单链表OJ题 前言一、返回链表开始入环的第一个节点思路一思路二 二、返回链表的深度拷贝总结 前言 此次练习题有两道&#xff01; 有点小难度&#xff0c;但相信难不住大家的&#xff01; 我也会给出两道OJ题的链接&#xff0c;大家也赶快去试一试吧 一、返回链表开始入环的第…

【网络基础进阶之路】基于MGRE多点协议的实战详解

PS&#xff1a;本要求基于华为的eNSP模拟软件进行 具体要求&#xff1a; 完成步骤&#xff1a; 1、根据上述要求&#xff0c;对各路由器进行地址安排&#xff0c;如下图。 2、进入各路由器&#xff0c;对每个端口进行地址设置。 R1路由器设置&#xff1a; ISP路由器设置&…

淘宝资源采集(从零开始学习淘宝数据爬取)

1. 为什么要进行淘宝数据爬取&#xff1f; 淘宝数据爬取是指通过自动化程序从淘宝网站上获取数据的过程。这些数据可以包括商品信息、销售数据、评论等等。淘宝数据爬取可以帮助您了解市场趋势、优化您的产品选择以及提高销售额。 淘宝作为全球的电商平台&#xff0c;每天都有…

flutter:占位视图(骨架屏、shimmer)

前言 有时候打开美团&#xff0c;在刚加载数据时会显示一个占位视图&#xff0c;如下&#xff1a; 那么这个是如何实现的呢&#xff1f;我们可以使用shimmer来开发该功能 实现 官方文档 https://pub-web.flutter-io.cn/packages/shimmer 安装 flutter pub add shimmer示例…

2023年08月在线IDE流行度最新排名

点击查看最新在线IDE流行度最新排名&#xff08;每月更新&#xff09; 2023年08月在线IDE流行度最新排名 TOP 在线IDE排名是通过分析在线ide名称在谷歌上被搜索的频率而创建的 在线IDE被搜索的次数越多&#xff0c;人们就会认为它越受欢迎。原始数据来自谷歌Trends 如果您相…

使用Vscode编辑keil工程

一、需要安装的插件 1. Keil Assistant 2. C/C 3. 中文配置&#xff1a; 二、插件配置 1. Keil Assistant 添加Keil的安装路径 接下来就可以使用vscode编辑Keil的工程了&#xff0c;调试编译和下载程序需要返回到Keil中进行操作。 三、Vscode常用快捷键 可以自定义进行配置…

【雷达通信】非相干多视处理(CSA)(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

echarts绘制关系图

效果图&#xff1a; 代码&#xff1a; <template><div id"serveGraph" style"height: 100%; width: 100%; z-index: 88;"></div> </template> <script> import { defineComponent,reactive,toRefs,onMounted,watch } from …

MFC、Qt、WPF?该用哪个?

MFC、Qt和WPF都是流行的框架和工具&#xff0c;用于开发图形用户界面&#xff08;GUI&#xff09;应用程序。选择哪个框架取决于你的具体需求和偏好。MFC&#xff08;Microsoft Foundation Class&#xff09;是微软提供的框架&#xff0c;使用C编写&#xff0c;主要用于Windows…

Vue2:基础入门

Vue2&#xff1a;基础入门1 Date: April 10, 2023 Sum: vue简介、vue的基本使用、vue的指令、修饰符、过滤器&#xff08;废&#xff09;、小黑的书架、记事本 Tags: * 目标&#xff1a; 能够知道 vue 的基本使用步骤 掌握插值表达式和 v-bind 指令的用法 能够掌握如何使用…

右值引用带来的效率提升(C++11)

文章目录 一.左值引用和右值引用二.C11区分左值和右值的语法设计意义--对象的移动构造和移动赋值场景分析1:C11之前C11之后 场景分析2:函数std::move右值引用的广泛使用 三.引用折叠 一.左值引用和右值引用 左值:可以取到地址的对象(可以出现在赋值符号的左边),对左值的引用称…

【Linux】计算机网络的背景和协议分层

文章目录 网络发展协议何为协议网络协议协议分层OSI七层模型TCP/IP五层模型&#xff08;四层&#xff09; 基本通信流程mac地址和ip地址网络通信本质 网络发展 从一开始计算机作为一台台单机使用&#xff0c;到现在网络飞速发展&#xff0c;从局域网Lan建立起局域网&#xff0…

go逆向符号恢复

前言 之前一直没怎么重视&#xff0c;结果发现每次遇到go的题都是一筹莫展&#xff0c;刷几道题练习一下吧 准备 go语言写的程序一般都被strip去掉符号了&#xff0c;而且ida没有相关的签名文件&#xff0c;没办法完成函数名的识别与字符串的定位&#xff0c;所以第一步通常…

时序数据异常检测算法

引言 异常检测的场景很多&#xff0c;例如&#xff1a;硬件的故障检测、流量的异常点的检测等场景。针对时间序列类数据的异常检测算法也有很多&#xff0c;业界比较流行的比如普通的统计学习方法–3σ原则和箱线图识别数据离群点&#xff0c;它利用检测点偏移量来检测出异常。…