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等,往往面临的第一个问题便是这些模型的各层参数是如何设置的呢?另外,我们如果要设计自己的网路模型时,又该如何设置各层参数呢?如果模型 ...
随机推荐
- Linux下C程序的内存映像
2.Linux下C程序的内存映像 2.1. 代码段.只读数据段(1)对应着程序中的代码(函数),代码段在Linux中又叫文本段(.text)(2)只读数据段就是在程序运行期间只能读不能写的数据,con ...
- python阴阳鱼绘制(使用turtle)
from turtle import * def draw(radius ,color1 , color2): #设置画笔的大小 width(3) #设置画笔颜色和填充颜色 color("b ...
- HTML元素类型和类型的转换
HTML元素分为:块状元素和内联元素 块元素:(block) 1.默认独占一行 2.没有宽度时,默认撑满一排 3.可以定义元素的宽和高 常见的块状元素有div,ul,li,h1-h6,ol 内联,行内 ...
- Django2.0中的urlpattern匹配不输入任何网址时的写法
如果使用urlpattern匹配不输入任何网址时,应该如何写? 例如:仅匹配http://127.0.0.1:8000/时想要跳转到某个页面,这时urlpattern中的url规则应该写成: 情况1: ...
- 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring基于Annotation装配Bean
在 Spring 中,尽管使用 XML 配置文件可以实现 Bean 的装配工作,但如果应用中 Bean 的数量较多,会导致 XML 配置文件过于臃肿,从而给维护和升级带来一定的困难. Java 从 J ...
- mysql四种事务隔离级别
mysql事务并发问题 ACID什么的就不啰嗦了.mysql多个事务并发的时候,可能会出现如下问题: 1. 更新丢失 即两个事务同时更新某一条数据,后执行的更新操作会覆盖先执行的更新操作,导致先执行的 ...
- python类(2)
#从python开始学习编程 学习笔记 以后看书时注意一下书上表述:好像是类属性attribute,对象特性property,对象方法 1.对于一个类下的全部个体来说,某些属性可能存在个体差异.不是所 ...
- MYSQL安装与基本操作
http://docs.sqlalchemy.org/en/latest/ sqlalchemy文档 1.下载,下载版本太多,不知道下哪个好,别人介绍版本 进入官网-->点击最下面 DOW ...
- shell字典使用
1.shell界面或脚本中 pcode=(["10"]="BeiJing" ["22"]="TianJin") echo ...
- linux 下shell 编写脚本
linux 下shell 编写脚本: 1.程序结构练习:编写一个脚本,给定一个正整数,计算出这个数所有位的数字之和. 例如:程序给定输入123,那么应该返回1+2+3=6. 2.程序结构练习:编写一个 ...