《数字图像处理》手动实现最佳陷波滤波

1 最佳陷波滤波实现

1.1 最佳陷波滤波原理及步骤

最佳陷波滤波的可以良好地处理一个以上的干扰分量或者多个周期性的噪声,相比于其他的滤波方法,最佳陷波滤波可以最小化复原的估计值f ̂(x,y)的局部方差。
最佳陷波滤波可以分为两步:屏蔽干扰的主要成分,然后从被污染的图像中减去该模式的一个可变的加权部分。
首先第一步是提取干扰模式中的主频率分量。空间域中的噪音的相对模式可由下式获得:
在这里插入图片描述
H_NP (u,v)的形式需要多方面判断哪些是噪声干扰等。
第二步是从被污染的图像中减去该模式的一个可变的加权部分,其用公式表示为:
在这里插入图片描述
其中ω(x,y)即为最佳陷波滤波的权重函数,我们可以通过下面两个公式进行计算。
在这里插入图片描述
最小化上面的公式,我们可以得到
在这里插入图片描述
得到权重参数后,再带入公式(2)即可达到滤波后的结果。
使用代码实现的话的具体步骤就是1、读取图像。2、进行快速傅里叶变换。3、将频域图像居中。4、通过观察频域图像,确定需要排除的频率成分,制作陷波带通滤波。5、滤波后图像的傅里叶反变换,在空间域显示噪声模式。6、受污染图像减去噪声模式的加权得到结果图,并保存。

1.2 实验结果

1.2.1 加入多个周期噪声的滤波效果

下面,我们考虑加入多个正弦(余弦)噪声的结果。
噪声的形式如下:
《数字图像处理》手动实现最佳陷波滤波_第1张图片
原图、原图的频谱图、噪声图以及噪声频谱图如下:
《数字图像处理》手动实现最佳陷波滤波_第2张图片

可以看出原图的频谱图在水平和竖直方向有两条很亮的线,在低频区域中,也有中等程度的亮度。加上正弦和余弦噪音后,在较高频率的区域内出现了水平和竖直的亮线,这就代表着周期噪声的频率值。
通过简单的矩形带通(带阻)滤波器,进行频谱中的处理,并得到η(x,y)的图像。
《数字图像处理》手动实现最佳陷波滤波_第3张图片
接下来计算权重在这里插入图片描述
1.2.3小节将讨论关于求ω(x,y)的不同方法之间的效率,并通过公式f ̂(x,y)=g(x,y)-ω(x,y)η(x,y)得到最终滤波后的结果。效果如下图(与原噪声图进行对比)
《数字图像处理》手动实现最佳陷波滤波_第4张图片
从上图的对比来看,最佳的陷波滤波函数的效果达到了预期。较好的滤去了多个周期的噪声。不过仔细观察的话,还是可以发现在滤波后的图中仍然有一些很细小的周期的噪声,这是由于我加入的噪声比较复杂,在频谱图中有许多的额外的噪声频率,我在进行选择滤波器时仅仅将最明显的8个亮度带进行了滤波,并没有考虑亮度较低的噪声的影响。在另一个角度来说,如果将所有的噪声亮度在频谱中滤去,那么本身就将破坏原图在对应位置的信息,反而对于滤波不利。

1.2.2 加入高斯噪声和多个周期噪声的滤波效果

下面,我们考虑在1.2.1小节的多个周期噪声的基础上再加入高斯噪声的滤波效果。
噪声的形式如下:
《数字图像处理》手动实现最佳陷波滤波_第5张图片
原图、原图的频谱图、噪声图以及噪声频谱图如下:

《数字图像处理》手动实现最佳陷波滤波_第6张图片
《数字图像处理》手动实现最佳陷波滤波_第7张图片
可以看出原图的频谱图在水平和竖直方向有两条很亮的线,在低频区域中,也有中等程度的亮度。加上正弦和余弦噪音以及高斯噪音后,在较高频率的区域内出现了水平和竖直的亮线,这就代表着周期噪声的频率值,同时在整个的频谱图中也叠加了高斯噪声在频谱图中的图像,相比于1.2.1小节的情况更加复杂,无规则。
通过简单的矩形带通(带阻)滤波器、陷波带阻滤波器以及圆形区域内的巴特沃斯型的低通滤波器,进行频谱中的处理,并得到η(x,y)的图像。
《数字图像处理》手动实现最佳陷波滤波_第8张图片
接下来计算权重在这里插入图片描述
1.2.3小节将讨论关于求ω(x,y)的不同方法之间的效率,并通过公式f ̂(x,y)=g(x,y)-ω(x,y)η(x,y)得到最终滤波后的结果。效果如下图(与加噪声后的图进行对比)
《数字图像处理》手动实现最佳陷波滤波_第9张图片
从上图的对比来看,最佳的陷波滤波函数的效果达到了预期。较好的滤去了高斯以及多个周期(正弦、余弦函数)的噪声。相比较于1.2.1的多周期噪声,在本小节中加入的高斯噪声的特征几乎没有规律性而且在频谱上“遍布”在整个频域图像,基于此,我在1.2.1小节滤波函数的基础上增加了陷波带阻滤波器以及圆形区域内的巴特沃斯型的低通滤波器,将高频中的噪声弱化,因为由原图的频谱图可知,原图的大部分有效信息处于中低频区域,在加入噪声后的频率中,高频的亮度主要由高斯噪声以及多个周期噪声提供。综合以上因素,通过调整参数,最终也达到了比较好的效果。

1.2.3 关于求解权重参数的方法以及效率的问题

权重的计算是一个最佳陷波滤波函数中的最费时间的问题。在这里我也考虑了一下不同方法的权重计算的时间复杂度的问题。
方法1:常规的一步一步计算。处理效果如下:
《数字图像处理》手动实现最佳陷波滤波_第10张图片
具体代码如下:
《数字图像处理》手动实现最佳陷波滤波_第11张图片
这里的算法就是使用在确定范围内只计算一半的权重,将另一半的权重进行镜像的对称操作。其运行时间为0.283143秒。
方法2:一个区域内的权重一样。处理效果如下:
《数字图像处理》手动实现最佳陷波滤波_第12张图片
具体代码如下:
《数字图像处理》手动实现最佳陷波滤波_第13张图片
这里的算法是在同一个确定范围内,都使用完全一样的权重。其运行时间为0.099621秒。
通过处理效果来看,虽然两者都有一定的滤波效果,但是方法1的效果明显优于方法2的效果(噪声为多周期的正弦、余弦噪声+高斯噪声),但是方法2的时间要远远少于方法1的时间。

1.2.4 设置最佳陷波滤波器的权重相同的领域大小参数的想法

这次的实验的重要参数之一就是最佳陷波滤波器的权重相同的领域大小,仅仅对于本图来说,领域大小设置在3-10之间是最好的,这个参数太小,不利于更广范围内的噪声的均衡;这个参数太大,也获得不了图像细节处的信息。通过实验发现领域大小设置在3-10之间的滤波效果是最佳的。这个实验中我的领域大小设置的结果是5。

1.2.5 结论与思考

通过实验发现,不论是多个周期的正余弦噪声,还是在此基础上叠加的无规律高斯噪声,都可以使用最佳陷波滤波实现去噪效果。由此可知最佳陷波滤波的可以良好地处理一个以上的干扰分量或者多个周期性的噪声,相比于其他的滤波方法,最佳陷波滤波可以最小化复原的估计值f ̂(x,y)的局部方差,从而达到多噪声情况下的图像去噪。
本次实验,由于对于所加噪声的频域信息滤除的不是很充分,导致最后的图片没有完全的滤除噪声(虽然效果已经达到了比较好的效果)。如果对于噪声的频谱图进行更好的认识以及滤波函数的构造,相信可以得到更好的滤波效果。

你可能感兴趣的:(个人作品,学习笔记,计算机视觉,python)