影像质量评估之锐利度--MTF(SFR)

news/2024/12/23 6:29:56/

由于最近需要写一个Camera 自动调焦的程式,需要用到MTF(Modulation Transfer Function),其中MTF有很多实现算法,本人目前使用SFR(spatial frequency response)算法衡量影像的锐利度(Sharpness)。SFR数值越大,代表图像越锐利,此时图片也越清晰。

     一般情况下测试图像的锐利度使用ISO12233 Chart,我们可以使用Chart图中的斜边进行锐利度的测试,如下图为ISO12233 Chart。

    

    用于SFR计算的斜边分为两种,一种是水平斜边,一种是竖直斜边。如上图两个红色框,宽度比较大的称为水平斜边,高度比较大的称为竖直斜边,其中我们测试水平方向的锐利度时是使用竖直斜边,而测试竖直方向锐利度时使用的是水平斜边。

    MTF50以及MTF50P:

    MTF50是当MTF数值下降至最大值的50%时,对应的频率(Cycle Per Pixel),它是一个广泛应用的锐利度衡量标准。但是它用有一个重大的缺陷,就是当影像模组内部的软件对影像作锐利化时,将会对MTF数值有很大的影像,而其实大部分模组都会对影像作不同程度的锐利化,这就导致了MTF50已经不能够正确的反映锐利度的数值了。

    由于前面所述原因,MTF50P被应用在锐利度的评价当中。MTF50P是使影像过度锐化以后再计算MTF数值,其MTF数值的最大值的50%对应的频率值。其中MTF50P一般会使用LW/PH作为单位,LP/PH= Cycle Per Pixel * Total Pixel * 2.

   

    以下是MTF50P的算法:

    此算法来源于ISO12233中标准的斜边,并使用了部分数学算法辅助完成。

    1. 使用OECF Chart或者Gamma转换来改变由影像模组加上的Gamma(一般影像模组均采用0.5)。

    2. 分别计算R,G,B,Y四个频道的每个扫描线的此点与前面点的差值,并找到数值差异最大的位置。

    3. 分别对R,G,B,Y四个频道的差异最大的点组成的曲线作线性回归,但是由于Lens的Distortion的影响,我们需要作二次曲线拟合。

    4. 通过了曲线拟合,我们产生了四条平均曲线,我们分别取这四条曲线的的小数部分按1/4向下取整。

    5. 通过第4步,我们产生了重新采样的四条曲线,这四条曲线满足采样定理。

    6. 计算这四条曲线的相邻点的差分并使用汉明窗函数使用这四条微分曲线的终点的微分数值置0。

    7. 对这四条微分曲线做快速付立叶变换就可以得到MTF曲线了。

 

    目前还有很多概念不清楚 ,以后会再写文章描述清楚,并提供MTF源码。


http://www.ppmy.cn/news/289375.html

相关文章

转 影像质量评估之锐利度--MTF(SFR)

转载 https://blog.csdn.net/qq61394323/article/details/38454969 影像质量评估之锐利度–MTF(SFR) 2014年08月09日 11:23:05 努力的草根 阅读数:25287  由于最近需要写一个Camera 自动调焦的程式,需要用到MTF(Modu…

智能优化算法改进-K-means聚类种群初始化附Matlab代码

目录 0引言 一、K-means聚类原理 二、K-Means聚类算法步骤 三、K-Means聚类原理图​编辑 四、K-means聚类改进智能优化算法种群初始化效果图 4.1 初始种群数据图 ​4.2 K-means聚类结果图 4.2.1 根据K-means聚类原理聚类 4.2.2 根据MATLAB自带kmeans函数聚类 五、K-…

ch7_1指令系统

计算机硬件与软件之间的接口, 指令系统。 1.机器指令 1.1 指令的格式 指令的格式是什么? 操作码,地址码,寻址方式; 指令的字长,可以分为固定字长,可变字长; 操作码的长度可以是…

「HTML和CSS入门指南」main 标签详解

什么是 main 标签? 在 HTML 中,main 标签用于表示网页或应用程序的主要内容。通常用于包含页面的核心内容,例如文章、产品列表或其他重要信息。 main 标签的基本语法 以下是 main 标签的基本语法: <main><!-- 在这里放置您的内容 --> </main>请注意,m…

Ubuntu20.04 安装 Nvidia GTX 1050 ti GPU 驱动运行Carla详细过程

1. 先检查系统有没有安装好GPU驱动&#xff0c;执行命令&#xff1a; sudo nvidia-smi 如果报错就说明系统没有Nvidia GPU驱动 如果出现以下界面说明驱动安装成功 2.看一下系统根据GPU硬件型号推荐的GPU驱动&#xff0c;执行这条命令&#xff1a; ubuntu-drivers devices &…

CUDA安装教程及调试:本机win10+vs2013+NVIDIA GeForce GTX 1050Ti

写这篇文章主要是针对CUDA调试经验分享&#xff0c;网上可供参考的资料太少了&#xff0c;最后靠自学CUDA官网help文档成功进入global函数断点&#xff0c;感兴趣的继续看下去吧&#xff01; 本人的电脑配置&#xff1a;本机win10vs2013NVIDIA GeForce GTX 1050Ti 1、CUDA加速…

gtx1050ti安装win10和ubuntu16.04双系统

#2020.2.24更新&#xff1a; NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driverr 解决方法 卸载nvida sudo apt-get --purge remove nvidia* sudo apt autoremove sudo apt-get remove --purge nvidia-\*#2020.2.更新&#xff1a; ##一&#xf…

Pytorch安装win10GPU(GTX1050ti)

我的电脑联想拯救者。不是用pip、conda装pytorch&#xff0c;直接用清华源来下&#xff0c;速度快&#xff0c;不会出错 2022.3.25更新 最近给女朋友装的时候发现个问题&#xff0c;在第二步中运行conda install pytorch torchvision cudatoolkit10.1 -c pytorch时&#xff0c…