基于opencv 纹理图/枯叶图 MTF/ACUTANCE评测算法

1.有SFR算法为何还要引入基于纹理图的MTF/ACUTANCE评测算法?

如果使用的raw数据,只用sfr测试不同频率的mtf是完全可以的。但如果经过isp处理后,因为存在降噪/锐化处理,并不能真正体现纹理和边缘的实际表现。

例如:

在相机 A 上,边缘和纹理的清晰度似乎相等。纹理中可以看到许多细节。

在相机 B 上,边缘经过了ISP数字增强,SFR 转换看起来过于清晰。边缘Ring也是处理的产物。在纹理部分,相机 A 上可见的许多细节在相机B上都消失了。

猛地一看,边缘清晰度测量第二台相机更清晰。但仔细检查对比度纹理表明,相机 A 比相机 B 更好地保留了精细的细节。

纹理图评测方法的目的是量化这种差异。

2.如何使用 纹理图/枯叶图 chart来评判camera 再现细节的能力?

Ⅰ在实验室打光拍摄纹理图后可以直接用imatest来计算MTF/ACUTANCE,只要设置好imatest的纹理图类型,就可以计算出结果,包括MTF曲线和锐度。

Ⅱ也可以使用opencv或matlab自己写一段程序完成计算,我使用的是opencv,便于工程应用

原理如下:1.计算拍摄图的PSDi

2.计算标准chart的PSDcalib,或从商家拿到已有的标定的PSD数据

3.MTF=PSDi/PSDcalib,得到MTF

4.CSF计算如下

其中v is in cycles/degrees,其它都是固定系数。

5.根据A=(MTF*CSF积分)以及Ar=(CSF积分),通过A/Ar计算Acutance,这一步

注意cycles/pixel与cycles/degree这两个量纲的转换。

6.以上为了增加准确性,还需要考虑进去噪声的影响。

评判标注如下:

3.附一段结果和伪代码:

0. 实拍纹理图

1.PSDi

2.PSDcalib

3.PSDnoise

4.MTF

5.CSF

Acutance = 0.78,属于轻微模糊。

伪代码:

P0=getChartCalibPSD()

P1=getChartRealPSD()

P2=getChartNoisePSD()

MTF = (P1-P2)/P0

CSF = getCSF()

A = ∫MTF*CSFdv

Ar = ∫CSFdv

acutance = A/Ar.

专注于影像行业15年,对镜头芯片及画质评测有一定积累,如需要合作开发项目请私信联系本人,勿做伸手党。

相关推荐
小明_GLC18 小时前
Falcon-TST: A Large-Scale Time Series Foundation Model
论文阅读·人工智能·深度学习·transformer
Python_Study202518 小时前
制造业数据采集系统选型指南:从技术挑战到架构实践
大数据·网络·数据结构·人工智能·架构
一只大侠的侠18 小时前
【工业AI热榜】LSTM+GRU融合实战:设备故障预测准确率99.3%,附开源数据集与完整代码
人工智能·gru·lstm
weisian15118 小时前
入门篇--知名企业-26-华为-2--华为VS阿里:两种科技路径的较量与共生
人工智能·科技·华为·阿里
棒棒的皮皮18 小时前
【深度学习】YOLO模型精度优化 Checklist
人工智能·深度学习·yolo·计算机视觉
线束线缆组件品替网18 小时前
Bulgin 防水圆形线缆在严苛环境中的工程实践
人工智能·数码相机·自动化·软件工程·智能电视
Cherry的跨界思维18 小时前
【AI测试全栈:Vue核心】22、从零到一:Vue3+ECharts构建企业级AI测试可视化仪表盘项目实战
vue.js·人工智能·echarts·vue3·ai全栈·测试全栈·ai测试全栈
冬奇Lab18 小时前
【Cursor进阶实战·07】OpenSpec实战:告别“凭感觉“,用规格驱动AI编程
人工智能·ai编程
玖疯子18 小时前
2025年总结框架
人工智能
dazzle19 小时前
计算机视觉处理(OpenCV基础教学(十九):图像轮廓特征查找技术详解)
人工智能·opencv·计算机视觉