黄习飞 刘柏宏 苏亮亮 熊彪
【摘 要】在Matlab图像处理椒盐噪声的过程中,本文主要提出了首先对被污染的图像进行多窗口中值滤波,再对滤波后的图像进行迭代高斯滤波。实验证明此方法能达到较为理想的效果。相比传统的中值滤波和迭代中值滤波效果都好,而且对高密度噪声的效果也较为满意。对图像含极大值和极小值像素较多有效值下的椒盐噪声的处理效果较好。
【关键词】Matlab;椒盐噪声;多窗口滤波;迭代高斯滤波;高密度噪声
中图分类号: TP391.41 文献标识码: A 文章编号: 2095-2457(2018)03-0077-002
A Method for Removing Salt and Pepper Noise from Images Based on Multi - window Median Filter and Iterative Gaussian Filter
HUANG Xi-fei LIU Bai-hong SU Liang-liang Xiong Biao
【Abstract】In the process of image processing of salt and pepper noise in Matlab, this paper mainly proposes that multi-window median filtering of the contaminated image is performed first, and then the filtered image is iteratively Gaussian filtered. Experiments show that this method can achieve better results. Compared with the traditional median filter and iterative median filter are good, and the effect of high-density noise is also more satisfied. The effect of salt and pepper noise under more effective values of the image with the maximum and minimum pixels is better.
【Key words】Matlab; Salt and pepper noise; Multi-window filtering; Iterative Gaussian filter; High-density noise
0 引言
数字图像在采集,传输,存储过程中由于脉冲噪声的干扰导致的图像模糊时有发生,因此,很多专家学者提出了关于脉冲噪声消除的办法,并且达到了很好的效果。其中最经典的非线性滤波法是中值滤波(MF)[1]和它的相关改进方法[2]。然而,这些方法都是用滤波窗口的某一个像素点代替噪声点,没有很好的处理窗口内高密度噪声像素点对该像素点的影响。本文提出对图像进行高斯滤波并对高斯滤波进行迭代滤波。
對图像进行多窗口中值滤波时,发现噪声密度与中值滤波的窗口呈正相关性。但是中值滤波窗口越小图像处理效果越清晰(PSNR越大),实验证明当图像受到较大密度噪声(如:0.5)干扰时,单纯靠某一个滤波窗口滤波效果并不理想,而且滤波后还会有很多块状的椒盐噪声,但这种椒盐噪声可以通过很多方法去消除,其中相对较为简便的一种方法是对滤波的检测窗口进行扩大(滤波窗口为5×5)后再滤波,并再检测是否还有椒盐噪声,如果有再扩大窗口,一般检测和滤波窗口达到9×9就可以了。然后对中值滤波后的图像再进行高斯去噪,这里高斯噪声用固定窗口滤波,因为此时的中值滤波后的图像是模糊的,并且Wang和Shen[3]等人实验比较发现经过非局部平均滤波的图像直方图类似于加了高斯噪声。因此本文提出利用高斯去噪法对图像进行迭代去噪,实验证明效果比较理想。
1 本文的具体去噪方法
本文想通过以下两个过程来滤波。(1)对噪声进行多窗口中值滤波,通过对不同窗口的滤波效果,分别进行3×3,5×5,7×7,...等窗口下滤波,直到没有椒盐噪声为止。(2)对中值滤波后的图像进行高斯滤波,并经MATLAB仿真确定高斯滤波的σ值的最佳值。去噪的流程为图1。发现迭代70次之后其图像的信号噪声比(PSNR)已基本不变。
1.1 多窗口中值预滤波
由于中值滤波的窗口越大,滤波的图像越模糊,但容许的噪声的密度却越高。而窗口越小,滤波的图像越清晰,但噪声密度过大可能会导致滤波后的值还是噪点(极大或极小值的像素点)。因此需要进行多窗口滤波。
由于椒盐噪声的大小为极大值(255)或极小值(0)。因此可以将图像的像素提取。公式为
S(i,j)==0、S(i,j)==1进行判断并进行多窗口下的中值滤波。滤波窗口为 s=2*k+1;(k=0,1,2,3...)。
判断和转换条件为out(i,j)==0或out(i,j)==1,其中out表示滤波后的图像像素值。
1.2 迭代高斯去噪声
对获得的中值滤波图像进行迭代滤波的具体方式如下,先进行高斯滤波,然后对像素值与原图像进行比较,将原图像的噪声点用滤波后的图像代替非噪声点,图像像素值不变。再将得出的滤波图像作为下次滤波的输入图像进行滤波如此循环,直到循环的足够多(本文一般取循环次数70)。再对图像中的非极值点像素进行保护,从而实现滤波功能。
2 实验结果及分析
2.1 迭代高斯滤波及相关算法的比较
3 结论
以上提出的算法对图像的椒盐噪声有一定的去除效果,但如果可以根据相关滤波数据的方差大小来判别滤波的方向和提取的滤波初始值可能能进一步提高滤波效率,是下一步的研究方向。
【参考文献】
[1]R.C.Gonzalez,R.E.Woods,Digital Image Processing,Prentice-Hall,Englewood Cliffs,NJ,2002.
[2]T.Chen,H.R.Wu,Space variant median filter for the restoration of impulse noise corrupted images,IEEE Trans.Circ.Syst II:Anal.Digit.Signal Process.48(8)(2001)784-789.
[3]张铮,倪红霞,苑春苗,杨立红.精通Matlab数字图像处理与识别[M].北京.人民邮电出版社.2013.4.
[4]J.Astola,P.Kuosmaneen,Fundamentals of Nonlinear Digiital Filtering,CRC,Boca Raton,FL,1997.
[5]H.Hwang,R.A.Hadded,Adaptive median filter:new algorithms and results.IEEE Trans.image Process.4(4)(1995)499-502.