刃边法计算MTF(ESF、LSF、PSF)
MTF 调制传递函数
评价一个成像系统目前主流的办法主要有三种TV line检测,MTF检测,和SFR检测。
MTF是Modulation Transfer Function的英文简称,中文为调制传递函数。
是指调制度随空间频率变化的函数称为调制度传递函数。最开始是为了说明镜头的能力。
在各个摄像头镜头中经常采用MTF描述镜头的MTF曲线,表明镜头的能力。这些曲线是通过理想的测试环境下尽量减少其它系统对镜头的解析力的衰减的情况下测试得出的。
MTF是描述不同空间频率下的调制函数。
那么什么是空间频率呢?通常,描述频率的单位是赫兹(Hz),比如50Hz、100MHz之类的。
但空间频率的表述习惯用“每毫米线对”。(LP/mm),就是每毫米的宽度内有多少线对。每两条线条之间的距离,以及线条本身的宽度之比是个定值,
目前我国分辨率的标板规定,这个定为公因子是20√10≈1.122等比级数。一般MTF的计算离不开线对。
实际拍摄得到的图像,就如下图一样频率越高(越细)的线对就越模糊。但是越好的成像系统得到的线对就越清晰。
MTF是通过找线对中最大亮度点和最小亮度点的对比度来计算的。计算公式为
MTF=(最大亮度-最小亮度)/(最大亮度+最小亮度)。
调制度介于0和1之间。调制度越大,意味着反差越大,越好。
所以MTF的计算不会出现大于1的情况。像下面的图表示的这样,当我们测试了很多不同频率下的MTF值。通过将这些值和空间频率进行一一的对照。
通过这条曲线我们就能知道现在的成像系统在什么样的空间频率下的对比度如何。也就知道了在什么频率的纹理下的解析能力。
SFR 空间频率响应
光学性能测试中,SFR(Spatial Frequency Response)是空间频率响应。MTF常用于光学系统,而SFR指成像系统,成像系统包含一个光学系统。
SFR是测模组对不同空间频率的响应情况,类似于MTF算法,但测试结果同时受镜头和感光器件以及处理程序的影响,因此称这种算法叫空间频率响应SFR。
主要是用于测量随着空间频率的线条增加对单一影像所造成的影响。简言之SFR就是MTF的精简版。
因为测量MTF需取得昂贵的正弦样版,并且需换算大量的数据。因此,PIMA开发了这款较低成本的SFR作为替代品。
基本上SFR只需一个双色调的黑白斜线即可换算出约略相等于MTF的值的解像力评鉴图。
SFR是怎么测试和计算的呢。首先SFR不需要拍摄不同的空间频率下的线对。
它只需要一个黑白的斜边(刃边)即可换算出约略相等于所有空间频率。
刃边法:
在SFR计算中最主要的几步:求导+傅里叶
(1)SFR是通过这条斜边的图进行超采样的到一条更加细腻的黑白变换的直线(ESF)。
(2)然后通过这条直线求导得到直线的变化率(LSF)。
(3)然后对将这个变化率进行FFT(DFT)变换就能得到各个频率下的MTF的值。
PSF、LSF、ESF
点扩展函数PSF(Point Spread Function)、线扩展函数LSF(LineSpread Function)和边缘扩展函数ESF(Edge Spread Function)
(1)点扩展函数PSF是点光源成像后的亮度分布函数,如下图所示,用PSF(X,Y)表示。
点扩展函数是中心圆对称的,通常以沿x轴的亮度分布PSF(X,Y)作为成像系统的点扩展函数。
(2)ESF其实是一条由白变黑(黑变白)的线。
之所以SFR的测试图是一张斜边,是希望通过斜边中的多条线进行超采样,得到一条灰度变换更加平滑的线。
这样减少在后面进行频域转换之后值上的误差。 ESF放大后如下图。
LSF就是一条线上(ESF) 的变化的过程。
对于任意一条线由黑变白的过程是 由不同频率的黑白线对 组成。因此可以反过来通过分析一条线得到这些频率下的(FFT)。
当获取点光源像的亮度分布函数PSF(X,Y)后,对其进行二维傅里叶变换即可得MTF (u,v)。
因此,从理论上讲,从PSF也是获取MTF的一个方法。
但是,在实际的应用中,由于地面点光源强度很弱,此方法一般较少采用。
相对于PSF来说,LSF的能量得到了一定程度的加强。因此用LSF更好。
【参考文献】
解析力评测MTF和SFR http://www.52rd.com/S_TXT/2016_3/TXT81761.htm
MTF的倾斜边缘计算方法 - CSDN博客 https://blog.csdn.net/yangpan011/article/details/52947451
【举例】
《电子射野影像系统(EPIDs)图像质量控制方法的探索》论文中
刃边法计算MTF(ESF、LSF、PSF)的更多相关文章
- 查表法计算CRC16校验值
CRC16是单片机程序中常用的一种校验算法.依据所采用多项式的不同,得到的结果也不相同.常用的多项式有CRC-16/IBM和CRC-16/CCITT等.本文代码采用的多项式为CRC-16/IBM: X ...
- 【九天教您南方cass 9.1】 13 等高线法计算土方量
同学们大家好,欢迎收看由老王测量上班记出品的cass9.1视频课程 我是本节课主讲老师九天. 我们讲课的教程附件也是共享的,请注意索取 在测量空间中. [点击索取cass教程]5元立得 (给客服说暗号 ...
- 用递归法计算从n个人中选选k个人组成一个委员会的不同组合数
用递归法计算从n个人中选选k个人组成一个委员会的不同组合数. 分析 由n个人里选k个人的组合数= 由n-1个人里选k个人的组合数+由n-1个人里选k-1个人的组合数: 当n = k或k = 0时,组合 ...
- javascript:逆波兰式表示法计算表达式结果
逆波兰式表示法,是由栈做基础的表达式,举个例子: 5 1 2 + 4 * + 3 - 等价于 5 + ((1 + 2) * 4) - 3 原理:依次将5 1 2 压入栈中, 这时遇到了运算符 + ...
- Eratosthenes筛选法计算质数
<C和指针>第6章第4道编程题: 质数就是只能被1和本身整除的数.Eratosthenes筛选法是一种计算质数的有效方法.这个算法的第一步就是写下所有从2至某个上限之间的所有整数.在算法的 ...
- python-蒙特·卡罗法计算圆周率
[题目描述]蒙特·卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的应用,其中就包括圆周率近似值的计问题.假设有一块边长为2的正方形木板,上面画一个单位圆,然后随意往木板上扔飞镖,落点 ...
- c#部分---网吧充值系统;简易的闹钟;出租车计费;简单计算器;对战游戏;等额本金法计算贷款还款利息等;随机生成10个不重复的50以内的整数;推箱子;
网吧充值系统namespace ConsoleApplication1 { class Program { struct huiyuan { public string name; public st ...
- python模拟蒙特·卡罗法计算圆周率
蒙特·卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的应用,其中就包括圆周率近似值的计问题. 假设有一块边长为2的正方形木板,上面画一个单位圆,然后随意往木板上扔飞镖,落点坐标(x, ...
- 用随机投掷飞镖法计算Pi值(Randomness Throwing dart Pi Python)
画一个边长为r的正方形和半径为r的四分之一的圆(如下图所示),向上面随机投掷飞镖,通过计算落在星星区域和整体区域的飞镖比例,即可求出π值. 公式推导如下: 假设正方形的边长r为1,那么飞镖落在星星区域 ...
随机推荐
- 阿里云CentOs服务器 安装与配置mysql数据库
阿里云CentOs服务器 安装与配置mysql数据库 以上为Linux安装mysql数据库 Linux 安装mysql 数据库 一下为mysql 安装教程 Using username "r ...
- eval解惑
let a = 1, b = 2, c = 3; let arr = [a, b, c]; function test(p1, p2, p3) { console.log(`${p1} ~ ${p2} ...
- 多层 iframe 嵌套 js 方法调用
一下午一个这破问题,浪费了不少时间,怎么也实现不了我的上上级iframe 刷新.NND. 实现了,记录一下下吧: window.parent.parent.document.getElementByI ...
- Centos7安装升级Ruby和集群搭建参考
安装升级Ruby参考:https://blog.csdn.net/qq_26440803/article/details/82717244 集群搭建参考:https://www.cnblogs.com ...
- 微信小程序自定义字体及自定义图标问题说明
自定义图标及自定义字体,一直是很多小程序开发者的心病,其实本站是很多解决方案的,为了集中起来,方便直接跳过此坑,我特别做了这次针对字体及字体图标的跳坑: 相关文章:微信小程序添加并使用外部字体(成功添 ...
- Java基本的程序结构设计 控制流程
控制流程 java的控制流程和C和C++基本一致,只是不能使用goto语句,不过break语句可以带标签,实现从内层循环跳出的目的.标签可以放在for或者while前面.如下: package com ...
- windows环境下 RabbitMQ 安装时创建用户流程命令
https://blog.csdn.net/xiaojieblog/article/details/70332469
- selenium常用定位方式
Selenium 是一个Web应用程序的自动化测试工具.使用javaScript内核语言编写,几乎支持所有能运行javaScript的浏览器(包括IE(7, 8, 9, 10, 11),Mozilla ...
- 弹弹弹,弹走鱼尾纹的弹出菜单(vue)
前言 上一篇面试的总结,大家看的还行,因为量很大,错误在所难免,希望大家发现错误了可以告诉我一声,我的邮箱是236490794@qq.com,一个小前端的希望. 言归正传 我们老样子直接先上效果图再开 ...
- inotify.sh脚本范例
inotify.sh脚本范例 [root@A-Server58 ~]# cat /server/scripts/inotify.sh#!/bin/bash#parahost01=192.1 ...