镜头基础知识

本文介绍镜头基础知识。

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,通常镜头解像力中心和边缘是不一样的,中心的解像力要比边缘的大。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM面试突击班2

JVM面试突击班2 对象被判定为不可达对象之后就“死”了吗 对象的生命周期 创建阶段 (1)为对象分配存储空间 (2)开始构造对象 (3)从超类到子类对static成员进行初始化 (4)超类成…

AI深度学习部署全记录

AI部署流程,以PyTorch为例: 1.Torch.Model->ONNX->ONNXSIM->TensortRT->落地 2.Torch.Model->Pt->ONNX->ONNXRunTime->落地 3.Torch.Model->Pt->Libtorch->落地 4.Torch.Model->PNNX->TensorRT->落地 5.…

C高级DAY2

思维导图 递归输出一个数的每一位,递归输出数的二进制 写一个脚本,包含以下内容: 显示/etc/group文件中第五行的内容创建目录/home/ubuntu/copy切换工作路径到此目录赋值/etc/shadow到此目录,并重命名为test将当前目录中test的所属…

Kubernetes概述

Kubernetes概述 使用kubeadm快速部署一个k8s集群 Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装 Kubernetes高可用集群二进制部署(二)ETCD集群部署 Kubernetes高可用集群二进制部署(三)部署…

在.net 6.0中 调用远程服务器web服务,Webservices(xxx.asmx) ,RESTful 风格,2种解决方案。

1.使用 Connected Services: 右键单击您的项目,选择 "Add"(添加)-> "Connected Services"(已连接的服务)。 在 "Connected Services" 对话框中,选择 "W…

MongoDB文档-基础使用-在客户端(dos窗口)/可视化工具中使用MongoDB基础语句

阿丹: 本文章将描述以及研究mongodb在客户端的基础应用以及在spring-boot中整合使用mongodb来完成基本的数据增删改查。 先放官方的文章 MongoDB CRUD操作 - MongoDB-CN-Manual 本文章分为: 在客户端(dos窗口)/可视化工具中使用…

ESP32 LVGL:无法显示过大的GIF图片(修改VLGL RAM缓存大小)

文章目录 问题描述:问题解决更改LVGL RAM缓存大小看ESP32的RAM使用情况 参考链接 问题描述: 使用LVGL可显示64 * 64的GIF,但是却无法显示120*120的GIF。 问题解决 更改LVGL RAM缓存大小 分析原因:在用LVGL显示GIF图片时&#…

iMX6ULL驱动开发 | OLED显示屏SPI驱动实现(SH1106,ssd1306)

周日业余时间太无聊,又不喜欢玩游戏,大家的兴趣爱好都是啥?我觉得敲代码也是一种兴趣爱好。正巧手边有一块儿0.96寸的OLED显示屏,一直在吃灰,何不把玩一把?于是说干就干,最后在我的imax6ul的lin…

《Gradle构建脚本的基本结构和语法》

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

HTML+CSS+JavaScript:轮播图的自动播放、手动播放、鼠标悬停暂停播放

一、需求 昨天我们做了轮播图的自动播放,即每隔一秒自动切换一次 今天我们增加两个需求: 1、鼠标点击向右按钮,轮播图往后切换一次;鼠标点击向左按钮,轮播图往前切换一次 2、鼠标悬停在轮播图区域中时,…

基于Yolov2深度学习网络的车辆检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1. 卷积神经网络(CNN) 4.2. YOLOv2 网络 4.3. 实现过程 4.4. 应用领域 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022A 3.部分核心…

产品设计中的小体验:带来大问题解决之道

在激烈的市场竞争中,产品的体验设计已成为区分优劣的重要标志。用户不仅仅关注产品的核心功能,更重视产品在使用过程中的舒适度、易用性和情感体验。产品设计中的细节体验,看似微不足道,却往往能带来意想不到的效果。这是因为&…

leetcode每日一练-第108题-将有序数组转换为二叉搜索树

一、思路 递归 二、解题方法 在给定中序遍历序列数组的情况下,每一个子树中的数字在数组中一定是连续的,因此可以通过数组下标范围确定子树包含的数字,下标范围记为 [left,right]。对于整个中序遍历序列,下标范围从 left0到 ri…

1. CUDA中的grid和block

1. CUDA中的grid和block基本的理解 Kernel: Kernel不是CPU,而是在GPU上运行的特殊函数。你可以把Kernel想象成GPU上并行执行的任务。当你从主机(CPU)调用Kernel时,它在GPU上启动,并在许多线程上并行运行。 Grid: 当你…

SQL分类及通用语法数据类型

一、SQL分类 DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)DML: 数据操作语言,用来对数据库表中的数据进行增删改DQL: 数据查询语言,用来查询数据库中表的记录DCL: 数据控制语言,用来创建数据库…

【2023年电赛】运动目标控制与自动追踪系统(E 题)最简单实现

本方案的思路是最简单的不涉及复杂算法:识别矩形框,标记矩形框,输出坐标和中心点,计算长度,控制舵机移动固定长度!仅供完成基础功能参考,不喜勿喷! # 实现运动目标控制与自动追踪系…

OPENCV C++(一) 二进制和灰度原理 处理每个像素点值的方法

#include <opencv2/opencv.hpp> using namespace std; using namespace cv;必须包含的头文件&#xff01; 才能开始编写代码 读取相片 一般来说加个保护程序 不至于出error和卡死 Mat image imread("test.webp"); //存放自己图像的路径 if (image.empty()){p…

Spring接口InitializingBean的作用和使用介绍

在Spring框架中&#xff0c;InitializingBean接口是一个回调接口&#xff0c;用于在Spring容器实例化Bean并设置Bean的属性之后&#xff0c;执行一些自定义的初始化逻辑。实现InitializingBean接口的Bean可以在初始化阶段进行一些必要的操作&#xff0c;比如数据的初始化、资源…

JSON动态生成表格

<!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><script>var fromjava"{\"total\":3,\"students\":[{\"name\":\"张三\",\&q…

9.物联网操作系统之软件定时器

一。软件定时器概念及应用 1.软件定时器定义 就是软件实现定时器。 2.FreeRTOS软件定时器介绍 如上图所示&#xff0c;Times的左边为设置定时器时间&#xff0c;设置方式可以为任务设置或者中断设置&#xff1b;Times的右边为定时器的定时相应&#xff0c;使用CalBack相应。 …