MTF的倾斜边缘计算方法
光学系统性能的衡量方法有很多,常见的有点扩散函数法、瑞利判断法、点 列图法、光学传递函数(MTF)法等,其中 MTF 法在光学系统和镜头加工制造中 使用 最为广泛。MTF 曲线真实的反映了成像系统将物方信息传递到像方的能力。 MTF 曲线的横坐标一般是 cycle/mm 或者 linepair/mm,纵坐标是反映对比 度传递特性的像/物方调制度的比值。 MTF 的计算方法有很多,比如使用条形目标的方法、随机目标方法、点扩 散函数法、带宽受限激光散斑法[2]、倾斜边缘法(Slanted Edge Method)等,其中 点扩散函数法和倾斜边缘法是工业界普遍使用的方法。点扩散函数法的的缺点在 于需要使用小于光学系统或镜头分辨极限的点光源,这样使得成像器件很难获得 足够强的信号。
倾斜边缘法的算法流程如图2:首先获取倾斜边缘的边缘扩散函数(ESF),然后求导得到对应的线扩散函数(LSF),最后傅里叶变换得到MTF。
倾斜边缘的响应函数可以由一个冲激函数表示:
当边缘响应函数由完善的(没有像差)的光学系统成像时,系统的成像质量不会被劣化。因此边缘函数被线性不变的光学系统成像时,系统的输出O(x)等于线传递函数LSF与系统的响应函数S(x)的卷积:
当x-α<0时,阶跃函数S(x)=0,其他情况下S(x)=1,所以ESF(x)可以表示为:
因此,ESF(x)的导数可以写为:
所以可以将MTF写作LSF的如下函数:
通常,MTF会对零频率幅值归一化,同时由卷积定义及傅里叶变换理论可以推导得出级联系统的MTF:
影响因素
>>倾斜角度<<
需要注意的是,边缘倾斜的角度对计算的结果有一定的影响。
一般来说,倾斜角需要控制在2°-10°之间,当角度超出这个范围时,计算的结果会出现比较大的偏差。
图3 倾斜角度对MTF计算结果的影响
当倾斜角度比较大时,可以取样相邻的多行/列的数据进行计算,这种方法其实就是过采样(oversampling)校正。ISO 12233建议4倍的过采样(获取邻近的4行/列线条的ESF。倾斜是为了过采样。
>>对比度<<
在没有噪声,并且边缘对比度足够高(>20%)的情况下,对比度对计算几乎没有影响。当边缘对比度低于20%时,计算结果将出现大的偏差。
>>数据限幅(data clippig)<<
如图5所示,当相机的曝光时间或者增益偏大时,会导致边缘扩散函数的上升沿呈"直线状"或者顶部变得十分平坦。这种情况下,计算的MTF都会出现极大的偏差。
使用算法、软件对图像去噪或者增强对比度都可能使"数据限幅",因此必须谨慎的使用图像增强处理。
图5 数据限幅(或图像增强过度)时的边缘扩散函数
MTF的倾斜边缘计算方法的更多相关文章
- 刃边法计算MTF(ESF、LSF、PSF)
MTF 调制传递函数 评价一个成像系统目前主流的办法主要有三种TV line检测,MTF检测,和SFR检测. MTF是Modulation Transfer Function的英文简称,中文为调制传递 ...
- camera测试之MTF
1.MTF介绍 MTF(Modulation Transfer Function)模量传递函数.MTF是camera成像对比度和分辨率的综合表现.从另一个角度来看,camera成像过程可以简单看成下图 ...
- Computer Vision_18_Image Stitching: Image Alignment and Stitching A Tutorial——2006(book)
此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...
- VLC2.2.4命令参数
用法: vlc [选项] [流] ...您可以在命令行中指定多个流.它们将被加入播放列表队列.指定的首个项目将被首先播放. 选项样式: --选项 用于设置程序执行期间的全局选项. -选项 单字母版本的 ...
- 对倾斜的图像进行修正——基于opencv 透视变换
这篇文章主要解决这样一个问题: 有一张倾斜了的图片(当然是在Z轴上也有倾斜,不然直接旋转得了o(╯□╰)o),如何尽量将它纠正到端正的状态. 而要解决这样一个问题,可以用到透视变换. 关于透视变换的原 ...
- OCR中的倾斜矫正
电面中被问到了做的LPR,简单的介绍了下后又问到了关于如何矫正倾斜角的问题.答得比较含糊,所以今天来补充一下. 倾斜矫正的方法有很多种,包括基于Hough变换的矫正,基于字符投影的倾角矫正,常规线性角 ...
- PS字体倾斜、变形
整体效果: 学习地址:http://www.wzsky.net/html/Photo/psjc/psc/125890_1.html 第一步新建画布,这个大家必须会,输入文字"基"基 ...
- MTF 曲线图解读
最近想入手佳能小小白(EF70-200 F4.0 USM),购买镜头的时候,在镜头厂商的产品页看到下面形状的曲线图: 这是什么意思呢?看着很复杂的样子啊?百度了一圈学习了一下,下面做个简单的分析. 这 ...
- 深度学习基础系列(一)| 一文看懂用kersa构建模型的各层含义(掌握输出尺寸和可训练参数数量的计算方法)
我们在学习成熟网络模型时,如VGG.Inception.Resnet等,往往面临的第一个问题便是这些模型的各层参数是如何设置的呢?另外,我们如果要设计自己的网路模型时,又该如何设置各层参数呢?如果模型 ...
随机推荐
- UltraISO制作manjaro系统盘,使用优盘
下载系统镜像 默认是清华镜像 刻入方式一定要选RAW方式
- python-局域网内实现web页面用户端下载文件,easy!
好久没有发博客了,但是也没闲着,最近疫情原因一直在家远程办公,分享一下今天的干货 先说需求:某个文件压缩之后可以供用户点击下载 没想到特别好的办法,在网上搜索大多都是通过socket实现的,然后我这个 ...
- HZNU-ACM寒假集训Day10小结 单调栈-单调队列
数据结构往往可以在不改变主算法的前提下题高运行效率,具体做法可能千差万别,但思路却是有规律可循 经典问题:滑动窗口 单调队列O(n) POJ 2823 我开始写的: TLE 说明STL的库还是有点慢 ...
- PAT Advanced 1013 Battle Over Cities (25) [图的遍历,统计连通分量的个数,DFS,BFS,并查集]
题目 It is vitally important to have all the cities connected by highways in a war. If a city is occup ...
- CentOS7使用firewalld的基本命令
转自:https://www.cnblogs.com/moxiaoan/p/5683743.html.Thanks for 莫小安 1.firewalld的基本使用 启动: systemctl ...
- mysql 杂
mysql> show create table table_name|view_name \G; 可以查看是视图还是表 \G 放到sql语句后,可以使每个字段打印到单独的行 1 I ...
- 记录 TypeError: render() got an unexpected keyword argument 'renderer' 错误
在网上看到MXShop这个项目,适合Python, Django + drf 进阶的,其中遇到 TypeError: render() got an unexpected keyword argume ...
- 谷歌 notification 测试 页面
<button onclick="notifyMe('master wei','http://cdn.sstatic.net/stackexchange/img/logos/so/so ...
- A - Alice and the List of Presents (排列组合+快速幂取模)
https://codeforces.com/contest/1236/problem/B Alice got many presents these days. So she decided to ...
- IUBS|CODATA|Open Data in a Big Data World|National Genomics Data Center
生命组学: National Genomics Data Center中的section: LncRNA知识库+non-code加入RNA central GWAS Atlas基因组关联分析数据库 E ...