镜头边缘的解析力通常比中心差很多的原因是什么?

news2024/11/18 19:48:22

1、问题背景

之前有总结过一篇文章,“ 相机出图画面一半清晰,一半模糊的原因是什么?”里面有描述到关于镜头边缘的清晰度通常比中心要差的原因主要是光的折射导致的,有读者指出问题,折射率是和传输介质相关,入射的介质都没变,折射率就不会改变。所以当时写的有点想当然了,本篇文章主要是纠正一下之前的结论,重新整理总结一下关于镜头边缘的清晰度通常比中心要差的原因是什么。

2、问题分析

上面读者已经提到了,镜头边缘像质变差是因为光学系统的像差导致。那什么是像差?而且镜头像差有6种,分别是球差、慧差、像散、畸变、场曲、色差,具体又是由哪种像差导致的,怎么导致的?该如何去避免呢?

a、什么是像差?

就是实际像与理想像之间的差异。对于理想的成像系统,是点物成点像,从物体的一点发出的光,通过透镜后,在一点汇聚而成像。但实际对于普通的透镜而言,光是不能汇聚于一点的,这种现象叫做像差。

b、镜头像差有6种,球差、慧差、像散、畸变、场曲、色差,具体是由哪种像差导致的,怎么导致的?

镜头边缘像质变差,主要是因为镜头的像场弯曲导致(简称场曲)。

凸透镜是一个球面光学系统,由于其本身的特性决定了其成像面不是平的,但我们设计的感光元件又是平面的,所以物面上所有的点经过系统后,这些像点所成的面为一个曲面,这种成像的缺陷就是场曲。

光学系统存在场曲时,由于像面是弯曲的,而感光面是平面,所以不能使平面物体上的各点同时在像面上清晰成像。

若按视场中心调焦,中心清晰,边缘则模糊。若按视场边缘调焦,边缘清晰,中心则模糊。实际成像结果如下图所示。

相机成像时的表现就是对焦点锐利,其余部分逐渐松散,场曲在大多数镜头里都存在,但表现最明显的还是老式广角镜头。实际上大多现代镜头的场曲都呈现如下这种形态:对焦点与边缘锐度高,其余部分成像松散。在佳能 14mm F2.8 上呈现出的就是这种效果。

c、如何评判镜头的场曲

如下是镜头场曲的示意图,纵轴是高斯像面的位置(也就是理想成像面),横轴是偏移距离。图中T和S分别表示子午场曲和弧矢场曲,T和S间的距离表示另外一种像差像散的大小。

其实从镜头MTF曲线图就能看出它是否存在场曲,或者场曲现象是否严重,如下是佳能 14mm F2.8 镜头的MTF曲线。横坐标是中心到边缘的距离,纵坐标是MTF值,镜头成像越清晰MTF值越接近于1。可以很明显地看出好几条测试线对都呈现“W”型波动,这就是场曲的典型表现。

d、如何避免场曲

1)光学系统设计

从光学系统设计角度,第一种是使用正负透镜组合的方式,设计中保留一定的像散,使弧矢面和子午面向相反方向弯曲,降低像面的弯曲程度;第二种是用厚透镜来矫正场曲。

2)弯曲感光面以适应场曲像面

还有一种方法是把感光面弯曲,以适应场曲。因此在某些专用照相机中,故意将底片处于弧形位置,以减少场曲的影响。

实际我们的眼球成像就基本没有场曲,因为视网膜就是弧形的。另外,由于广角镜头的场曲比一般镜头大,为了规避场曲,拍团体照时采用略带圆弧形的站位,就是为了提高边缘视场的像质。

参考资料:《有趣的透镜》、光语者-摄影光学与镜头_中国大学MOOC(慕课)

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

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

相关文章

并行计算技术与SIMD、SIMT

并行计算 指令并行 SIMD Inter MMX 64bitSSE SSE2 128bitAVX AVX2 256bitAVX-512 512bit ARM Neon 128bitSVE 128-2048bit RISC-V V指令扩展 SIMT CUDA openmp 线程并行MPI 进程并行 参考 SIMD - 百度百科 并发编程:SIMD 介绍

【考研数学】概率论与数理统计 —— 第六章 | 数理统计基本概念(2,三个重要的抽样分布)

文章目录 引言一、 χ 2 \chi^2 χ2 分布1.1 χ 2 \chi^2 χ2 分布定义1.2 性质 二、 t t t 分布2.1 定义2.2 性质 三、 F F F 分布3.1 定义3.2 性质 写在最后 引言 对数理统计的一些基本概念有了了解后,我们来学习三个重要的抽样分布。 一、 χ 2 \chi^2 χ2 分布…

mysql过期数据的清理方案(Java/springboot+mybatis)

比如说现在数据库表信息增加的很快&#xff0c;然后我们需要对每个表设置过期删除策略&#xff1b; 大概思路就是&#xff1a;定时任务调度&#xff0c;给每个表制定sql&#xff0c;然后执行删除数据的sql //删除一个月前的数据 delete FROM test_info WHERE create_time <…

C语言可执行程序到底怎样生成?

目录 程序的翻译环境 NO1.VS编译器工具 NO2.VS链接器工具 NO3.链接库是什么&#xff1f; 编译 预处理 编译 汇编 链接 程序的执行环境 C语言的程序到底是怎样生成的呢&#xff1f;又怎样去执行呢&#xff1f;我们来探索。本篇是讲解编译环境。 在ANSI C&#xff08…

如何避免osg绘制场景时因Z冲突导致绘制重影或不正常

目录 1. 问题的提出 2. Z冲突&#xff08;z-fighting&#xff09;简介 2.1. Z冲突&#xff08;z-fighting&#xff09;产生的原因 2.2. 如何消除Z冲突&#xff08;z-fighting&#xff09; 3. 代码实现 1. 问题的提出 今天绘制了一个棋盘格&#xff0c;鼠标在棋盘格上单击…

亲测防止google colab自动disconnect断连GPU

最近小虎在用colab跑diffusion的模型&#xff0c;但是运行的时候一直断连&#xff0c;就算充了会员也依然如此。 坏境 win11 chrome 解决方法 用Ctrl shift i打开console&#xff0c;输入 function ClickConnect() {console.log("Working");document.querySe…

倒计时 1 天|KCD 2023 杭州站

距离「KCD 2023 杭州站」开始只有 1 天啦 大家快点预约到现场哦&#xff5e; KCD 2023 活动介绍 HANGZHOU 关于 KCD Kubernetes Community Days&#xff08;KCD&#xff09;由云原生计算基金会&#xff08;CNCF&#xff09;发起&#xff0c;由全球各国当地的 CNCF 大使、CNCF 员…

STM32串口

前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 目前已经学习了GPIO的输入输出&#xff0c;但是没有完整的显示信息&#xff0c;最便宜的显示就是串口。 000 -111 AVR单片机 已经学会过了&#xff0c; 提示&#xff1a;以下是本篇文章正文内容&#x…

金蝶与电商集成如何调用奇门接口

电商领域的发展日新月异&#xff0c;为了实现企业的数字化转型&#xff0c;金蝶云等财务系统与电商平台的集成变得愈发关键。在本文中&#xff0c;我们将深入探讨奇门接口的应用&#xff0c;以及为什么它对于金蝶与电商集成如此重要。同时&#xff0c;我们将介绍如何借助轻易云…

【c➡️c++】打开c++学习之门2——内联函数-auto-空值(nullptr)

目录 &#x1f36d;内联函数 &#x1f576;️概念 &#x1f576;️特性&#xff1a; &#x1f449;auto关键字(C11) ➡️类型别名思考 ➡️ auto简介 ➡️auto的使用细则 ➡️auto不能推导的场景 &#x1f308;基于范围的for循环(C11) &#x1f6a9;范围for的语法 &…

基于java(ssm)水果销售管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

开箱即用的Appimage是什么以及如何建立快捷方式

1 引言 在使用Linux系统过程中&#xff0c;初学者会遇到无穷多的问题&#xff0c;包括软件的安装问题。 ubuntu的deb,centos的rpm, 当然以及需要解压的tar.gz等等。有一种开箱即用的软件安装类型&#xff0c;格式为Appimage。 AppImage 的官方网站是 AppImage | Linux apps tha…

Mysql中的RR 隔离级别,到底有没有解决幻读问题

Mysql 中的 RR 事务隔离级别&#xff0c;在特定的情况下会出现幻读的问题。所谓的幻读&#xff0c;表示在同一个事务中的两次相同条件的查询得到的数据条数不一样。 在 RR 级别下&#xff0c;什么情况下会出现幻读 这样一种情况&#xff0c;在事务 1 里面通过 update 语句触发当…

React基础: 项目创建 JSX 基础语法 React基础的组件使用 useState状态 基础样式控制

01 React 文章目录 01 React一、React是什么1、React的优势 二、React开发环境搭建1、创建项目2、运行项目3、项目的目录结构 三、JSX基础1、什么是 JSX代码示例&#xff1a; 2、JSX使用场景2.1代码示例&#xff1a; 3、JSX中实现列表渲染4、JSX - 实现基本的条件渲染5、JSX - …

Cmake用户交互指南

文章目录 一. 介绍1. 命令行cmake工具2. cmake gui工具 二. 生成构建系统1. 命令行环境2. 命令行-G选项3. 在cmake gui中选择生成器 三. 设置生成变量1. 在命令行上设置变量2. 使用cmake gui设置变量3. CMake缓存 四. 预设1. 在命令行上使用预设2. 在cmake gui中使用预设 五. 调…

【五:(mock数据)springboot+mock集成swaggerConfig】

目录 1、springboot 的Demo2、实例类3、服务类 get请求方法4、服务类的post请求方法5、swaggerConfig 接口文档生成配置依赖 SpringBootApplication ComponentScan("com.course") public class Application {public static void main(String[] args) {SpringApplicat…

【TensorFlow1.X】系列学习笔记【基础一】

【TensorFlow1.X】系列学习笔记【基础一】 大量经典论文的算法均采用 TF 1.x 实现, 为了阅读方便, 同时加深对实现细节的理解, 需要 TF 1.x 的知识 文章目录 【TensorFlow1.X】系列学习笔记【基础一】前言线性回归非线性回归逻辑回归总结 前言 本篇博主将用最简洁的代码由浅入…

AD20原理图库的制作

1、打开“51单片机最小系统”的工程文件。 2、创建原理图库文件&#xff1a;单击“文件”菜单&#xff0c;选择“新的”选项中的“库”选项&#xff0c;再选择“原理图库”&#xff0c;进入原理图库元件的编辑界面。 3、保存原理图库文件&#xff1a;选择“文件”菜单&#xff…

antd vue 组件 使用下拉框的层级来显示后面的输入框

效果图&#xff1a; 代码&#xff1a; HTML: <dir><a-row><a-col :span"4"><a-form-model-item label"审批层级" ><a-selectplaceholder"请选择审批层级"v-model"form.PlatformPurchaseApproveLevel"cha…

安达发|人工智能在APS高级计划与排程中的应用

随着人工智能&#xff08;AI&#xff09;技术的发展&#xff0c;其在生产计划与排程&#xff08;APS&#xff09;领域的应用也日益广泛。APS是一种复杂的系统工程&#xff0c;它需要处理大量的数据&#xff0c;包括需求预测、资源优化、路径规划等。AI技术的应用可以帮助企业更…