dylanin1999

导航

图像解析力算法—SFR(Spatial Frequency Response)原理分析(一)

图像解析力算法—SFR(Spatial Frequency Response)概念理解一文中,我们已经讲解了在阅读SFR源码前必须了解的概念,下面我们来讲解一下,SFR算法的计算具体流程,然后结合源码进行分析, 获取计算公式。

先来看图,直观感受一下吧:

可以看到,SFR的具体步骤就是上面的九大步骤,箭头中对应的是每一步执行前后对应的输入和输出。

总结如下:

0、获取垂直斜边的ROI

1、进行数据的归一化

2、计算图像每一行的像素矩心

3、对每行的矩心使用最小二乘法进行线性拟合,获得一条关于矩心的直线

4、重新定位ROI,获得ESF

5、对获得的ESF进行四倍超采样

6、通过差分运算获得LSF

7、LSF应用汉明窗

8、进行DFT运算

 

步骤解析:

0、获取垂直边缘的ROI:

上图是专业的图像MTF测试图,用红色方框框起来的是测试卡用于计算SFR的部分,蓝色小方框框起来的是我们应该获取的具体RIO区域(具体就是黑白图像,中间有分界线,我们称之为边缘(Edge))。

具体ROI图像如图:

      以及     

这里水平和垂直的Edge只是为了计算图像在水平方向和垂直方向的解析力,与算法本身无关,因为水平的Edge会被进行90°旋转后作为输入,然后计算SFR的值。

1、进行数据的归一化

在Sensor获得图像之后,呈现出来的图像由于要符合人眼的感觉,会对图像像素进行伽马变换,使得其变成非线性的像素数据,从而使图像的显示更加符合人眼的感受。所以,当我们要进行sensor的成像解析力分析时,要先将图像处理成没有经过伽马变换前的。

一般sensor会对raw图像进行一个2.2的gamma变换,若我们想恢复原始图像时,我们只需要进行一个1/2.2的gamma变换即可。

                                                      Gamma变换如图

2、计算图像每一行的像素矩心

这一步的操作其实是为了计算出边缘的位置。具体讲来就是,我们会将图片中的每一行像素都计算具体的矩心位置。

这样讲可能比较抽象,我们直接来看图吧。

可以看到,其实每一行像素的矩心计算出来的结果,其实就是在黑白分界线的附近。

矩心的计算公式如下:

                          

矩心对应位置:

                            

shift[i]就是对应的第i行的矩心位置。

 

3、对每行的矩心使用最小二乘法进行线性拟合,获得一条关于矩心的直线

这个没啥好说的,其实就是根据你计算出来的那么多个矩心的点,然后获取分界边缘的直线表达式。

我们知道用的是最小二乘法就可以了。最小二乘法公式如下:

最后获得的其实就是上面的图中那条红色的线,略微有差距,可是基本上可以说是完全一致的了。

 

这篇就先讲到整理到这里吧。后面的五个步骤会持续更新。

 

 

欢迎关注我的个人公众号,这里有更多好康的喔~

公众号:图像处理这些事

posted on 2022-08-13 16:15  DylanYeung  阅读(583)  评论(0编辑  收藏  举报