标准的镜头质量评测方法——MTF(Modulation Transfer Function)

2024-06-20 21:38

本文主要是介绍标准的镜头质量评测方法——MTF(Modulation Transfer Function),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

https://zhuanlan.zhihu.com/p/21318769;

这话和星座一样准,认识的几个常旅客都喜欢带着相机出门

今天就来聊聊选镜头的重要指标之一 MTF,不想看科普的可以直接拖到最后看结论

人眼评价镜头可能会众说纷纭,MTF图提供了一种把镜头质量 量化 的标准方法

在各种镜头页面中都会看到类似这样的图

 

纵坐标是 MTF 的对比度, 取值 = 拍摄画面 / 实际画面

MTF 为 100% 也就是最高的时候表示最佳画质,成像和真实完全一样,还原能力100%

MTF 全称是 Modulation Transfer Function(调制传递函数)

最佳光圈

索尼和佳能一般都会提供最大光圈和F8两种光圈的 MTF,因为 F8 约等于大部分镜头的最佳光圈

 

最佳光圈的质量总是比最大光圈的成像质量高,不然也不叫最佳光圈了。。当你不知道用啥光圈的时候,F8也是一个选择

F8的曲线通常会反映镜头理想条件下的最高性能,如果没有特殊要求,光圈尽量就保持在这附近

有专家这么解释

大于F8会因为镜头玻璃组边缘的影响出现相差色差降低画质,小于F8会受到光的衍射现象影响降低画质

边缘成像

为什么全画幅横坐标最长是20mm多呢?

 

全画幅尺寸是 36 x 24,斜对角是 43mm,从中心点到最远处就是一半距离也就是21.6mm

而 APS-C 画幅显示12mm多,画幅尺寸是 24.9 × 16.6,对角线 29.3mm,因此横坐标最长 29.3 / 2 = 14.6mm

 

不管是什么镜头都是边缘成像比中心要差

边角成像质量可以区分高端镜头和普通镜头,因为高端镜头总是更在意细节,但实际在照片上并没有太大区别

空间频率

空间频率测试的是镜头对不同密度的黑白条纹样张的还原和解析能力

 

空间频率的描述单位是“线对/毫米”,写作 lp/mm

低频表示画面的 反差 表现,样张是1毫米10条线的黑白条纹,黑白是否分明看的就是它

高频表示画面的 精细 程度,样张是1毫米30条线的黑白条纹,评测的是分辨率

 

10线和30线评测已经时代久远,能看清高频30线对现代的镜头来说也是易如反掌

索尼蔡司授权的镜头用了10,20,40线标准,索尼在设计GM镜头(最高端镜头)的时候用了50线,他们未来的目标是100线

实线和虚线

MTF 中还有两种线,虚线和实线,用来评判镜头虚化的能力

实线表示径向值,简称 M(Meridional) 或 R(Radial)

虚线表示切向值,简称 S(Sagittal) 或T(Tangential)

 

虚线和实线越接近越好,两者距离反映出镜头像散的特性,距离越大像散越大

两条线越接近,代表镜头的散镜越漂亮,从焦内到焦外的过度更自然

MTF 评分的意义

  • 100% 就是说好的不能再好了

  • 80% 认为是 相当好 的镜头

  • 60% 表示60分及格

结论

  1. 各种线越高越好,越平越好

  2. 现代的镜头都很高级了,差距很小,三千的镜头拍出的照片未必比一万多的镜头差,花三倍的价格可能只换来30%的性能优势

  3. 对于常旅客来说,体积和重量可能成为更重要的选择指标

这篇关于标准的镜头质量评测方法——MTF(Modulation Transfer Function)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应