基于斜率差值的自适应图像椒盐噪声滤波算法
2015-07-05周玲芳陈菲
周玲芳,陈菲
基于斜率差值的自适应图像椒盐噪声滤波算法
周玲芳,陈菲
(西南科技大学计算机科学与技术学院,四川绵阳621000)
提出了一种基于斜率差值的自适应中值滤波算法,以有效去除图像脉冲噪声。该算法在经典自适应中值算法的基础上,采用斜率差值进行噪声判定。针对自适应中值滤波算法和基于斜率的自适应中值滤波算法在噪声强度较高情况下的不足进行了改进,同时解决了噪声块难以去除的问题。实验结果表明,该算法能有效去除图像脉冲噪声,并较好的保护图像细节。
斜率差值;中值滤波;噪声检测;脉冲噪声
1 引言
数字图像在采集、转换和传送过程中,受到成像设备或者外界环境的干扰,造成不同程度的脉冲噪声污染,在图像中表现为比较明显的黑白杂点,使得图像的质量下降,影响了图像的后续分析和处理。因此噪声的检测和滤除十分有必要,方法主要分为线性滤波和非线性滤波两大类。线性滤波因其低通性,在滤除噪声的过程中容易丢失图像的细节信息;非线性滤波[1-4]在一定程度上克服了线性滤波这一缺点,滤波的同时较好的保留了图像细节,具有相对广泛的应用。非线性滤波中自适应的中值滤波算法是在图像处理方面是去除脉冲噪声的经典算法。
中值滤波不加区分的将每一个像素用中值替代,丢失了很多图像的细节信息,造成了图像的模糊。为此,人们将自适应中值滤波算法引入到数字图像去噪[1],并提出了系列改进的自适应中值滤波算法[5-10]等,通过对图像像素点逐一判定,将像素点分为噪声点和信号点,判定为噪声的点用模板内中值替代,判定为信号的点保持不变,以减少不必要的细节丢失,但是容易将边缘等一些高频信号的点判定为噪声点,造成图像的边缘信息丢失。
本文针对上述改进算法的不足之处,结合椒盐噪声的特点,提出自己的改进方法。算法沿用了自适应中值滤波算法的两层框架,在A层对中值判定,在B层对当前像素点判定。在对像素点判定时,采用斜率差值判定法,在准噪声点中进一步区分噪声点和信号点。最后,对高密度噪声块,用模板内已经去噪处理的各点均值替代。
2 算法的主要思想
2.1自适应中值滤波(RAMF)原理
自适应中值滤波算法的基本思想是根据噪声密度的大小调整滤波窗口的大小,通过与窗口极大值和极小值的比较判定像素点为噪声点或信号点,对信号点予以保持,对噪声点进行中值替代。
设当前像素灰度值为f(i,j),W为当前滤波窗口,fmax,fmin,fmed分别为滤波窗口内的灰度极大值、极小值和中值。Wmax为窗口的最大值。
自适应中值滤波分为两层实现:
A层:判断中值fmed,若为极值点,则在Wmax以内增大窗口再次判断;若为信号点,则进入B层;
B层:判定当前像素f(i,j),若fmin<f(i,j)<fmax,则判定为信号点,灰度值不变;否则判定为噪声点,灰度值用窗口中值替代。
自适应中值滤波算法能在判别像素点之后,有选择性的进行中值替代,但大多高频信号点也是滤波窗口的极值点,这样不加区分的去除,导致了图像的细节丢失。
2.2基于斜率差值的自适应中值滤波算法
为了避免处在窗口极值处的信号点被误判为噪声,本文在自适应中值滤波的基础上,在B层将不满足fmin<f(i,j)<fmax的像素点判定为准噪声点。根据窗口整体斜率和准噪声点的斜率作差值,依据差值的大小对极值点进行二次判定。
2.2.1斜率的选取
设当前像素点灰度值为f(i,j),将f(i,j)与滤波窗口(n×n)内其他像素的灰度值按升序排列,存放在数组s中,得到数组的极小值fmin,极大值fmax、中值fmed及除去极值后的最小值位置m1、最大值位置m2。
(1)窗口整体斜率的选取
窗口的整体斜率k代表整个滤波窗口所有像素灰度值的变化快慢,首先依据所有像素的计算方法是:
在没有噪声点影响的时候,这个斜率能有效反映整个窗口的灰度递变情况。但存在噪声时,极值点fmin,fmax极有可能就是噪声点,则式(1)不足以代表整个窗口的斜率。为了防止噪声对窗口斜率的影响,本文提出:
从图1中可以看出,式(2)克服了式(1)的缺点,且无论窗口内是否存在噪声干扰都能有效的代表整个滤波窗口的斜率。
图1 窗口整体斜率的选取Fig.1Choice of window’s slope
(2)当前准噪声点斜率k1的选取
不满足fmin<f(i,j)<fmax的像素点被判定为准噪声点,则准噪声点存在两种情况:
第一种情况:f(i,j)=fmin,即当前准噪声点为极小值。为了避免多个极小值的影响,k1选所有极小值中间点到m1点的斜率,用来表征当前点的斜率。
图2 f(i,j)为极小值Fig.2f(i,j)is the minimum
第二种情况:f(i,j)=fmax,即当前准噪声点为极大值。为了避免多个极大值的影响,k1选所有极大值中间点到m2点的斜率,用来表征当前点的斜率。
图3 f(i,j)为极大值Fig.3f(i,j)is the maxima
从图2,图3中可以看出,f(i,j)为噪声时,k1与k2差别较大;f(i,j)为信号时,k1与k2相差无几。故依据k1与k2的差值能有效区分当前准噪声点是否为噪声点,为噪声点用中值替代,为信号点原值输出。
2.2.2阈值的选取
在初次判定为准噪声的点,需要k1与k2的差值来进行二次判定。因而需要引入一个阈值T,当斜率差值大于T时,判定为噪声,用中值替代;反之判定为信号予以保持。T的选取应该和整个滤波窗口内的像素的灰度值有关,而此处中值已经判定为非噪声点,能代表窗口的平均水平。阈值T可表示为:
其中:fmed为滤波窗口中值,e为正整数。对准噪声点判定时,依据fmed自适应地选取阈值T,而阈值T的大小随e的取值而不同,图4所示为峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和均方差(Mean Squared Error,MSE)随着e取不同值时的变化趋势。由图可见,当e=55时,能取得高PSNR和低MSE,所以本文选取55计算阈值T。
图4 PSNR、MSE随e的变化趋势Fig.4Trends of PSNR and MSE with e
2.2.3噪声块的处理
在噪声强度较低,单个滤波窗口内不包含过半的极小值或者极大值噪声点时,我们采用上述方法进行判定之后滤除噪声。但是随着噪声强度的增大,单个窗口内出现过半的极小值噪声点或过半极大值噪声点时,当前点所处的区域判定为噪声块。对这种噪声块噪声的处理分两种情况(以3×3窗口为例):
图5 m2<=m1时像素的取值Fig.5Value when m2<=m1
(1)m2>m1时,当前像素点取m1到m2所有像素的均值;
(2)m2<=m1时,当前像素点取滤波窗口内已经去噪处理像素的均值,如图5取阴影部分像素的均值。
3 仿真及实验结果分析
为验证本文算法的有效性,对512×512,8位灰度图像Lena加不同强度椒盐噪声,用本文算法和传统的中值滤波(MF)、自适应中值滤波(AMF,最大窗口为7×7)及刘淑娟基于斜率的自适应中值滤波算法进行去噪比较。
图6 各算法去噪效果比较Fig.6De-noising results of the algorithms
3.1主观比较
从图6可知,当噪声密度较小时,MF、AMF、刘淑娟算法及本文算法能取得较好的去除噪声,其中后两者能更好地保持图像细节。当噪声密度增大到一定程度,刘淑娟算法去噪效果显著降低; AMF能去除大部分噪声,但是平滑了图像细节,模糊了边界;本文算法去除噪声的同时能继续保持边界信息。当噪声密度大到一定程度,MF和刘淑娟算法已失效,AMF能去除密度不大的噪声点,没法去除噪声块,本文算法能有效去除噪声块,基本还原图像信息。
3.2客观比较
为了客观说明本文算法的滤波性能,采用峰值信噪比PSNR(单位:dB)和边缘保持度FOM作为评判标准,其定义分别为:
其中:f(i,j)表示未加噪声的原始图像各像素的灰度值,表示去噪后图像各像素的灰度值,M、N表示图像的高度和宽度,N^为检测到的边缘像素点数,Nideal为理想边缘像素点,di表示第i个检测到的边缘点到它最近的理想边缘点间的欧氏距离。各种不同算法对不同噪声强度的图像处理后的PSNR和FOM对比如表1、表2所示。
表1 各算法PSNR比较Tab.1PSNR of different algorithms
表2 各算法FOM比较Tab.2FOM of different algorithms
4 结论
中值滤波算法针对去除脉冲噪声能取得较好的效果。本文在中值滤波基础上,结合基于斜率差值的噪声判定方法,有效保留了极值处的信号成分,提高了滤波的保真度,对密度大的噪声块进行有效的均值处理。实验结果表明,该算法能有效去除图像噪声,同时很好地保持图像的细节,并且在噪声密度增大时,能取得优于其他算法的效果。从表中可以看出本文算法的有效性和优越性。随着噪声密度的增加,其他算法的滤波性能显著降低,而本文算法依然能有效去除噪声并保持大部分图像细节,还原图像信息。
[1]刘伟,孙丽媛,王汝梅.自适应中值滤波在数字图像处理中的应用[J].河北理工大学学报:自然科学版,2008,29 (4):111-113.
Liu W,Sun L Y,Wang R M.An adaptive median filter in the application of digital image processing[J].Journal of Hebei Polytechnic University:Natural Science Edition,2008,29(4):111-113.(in Chinese)
[2]韩希珍,陈朝东,赵建.基于PDE的非线性图像去噪与增强[J].液晶与显示,2011,26(1):111-115.
Han X Z,Chen C D,Zhao J.Nonlinear image de-noising and enhancement based on PDE[J].Chinese Journal of Liquid Crystals and Display,2011,26(1):111-115.(in Chinese)
[3]龚卫国,刘晓营,李伟红,等.双密度双树复小波变换的局域自适应图像去噪[J].光学精密工程,2009,17(5): 1171-1180.
Gong W G,Liu X Y,Li W H,et al.Local adaptive image denoising based on double-density dual-tree complex wavelettransform[J].Optics and Precision Engineering,2009,17(5):1171-1180.(in Chinese)
[4]Pan M S,Tang J T,Yang X L.An adaptive median filter algorithm based on B-spline function[J].International Journal of Automation and Computing,2011,8(1):92-99.(in Chinese)
[5]黄宝贵,卢振泰,马春梅,等.改进的自适应中值滤波算法[J].计算机应用,2011,31(7):1835-1837.
Huang B G,Lu Z T,Ma C M,et al.Improved adaptive median filtering algorithm[J].Journal of Computer Applications,2011,31(7):1835-1837.(in Chinese)
[6]卫保国.一种改进的自适应中值滤波方法[J].计算机应用,2008,28(7):1732-1734.
Wei B G.Improved adaptive median filtering[J].Journal of Computer Applications,2008,28(7):1732-1734.(in Chinese)
[7]刘茗.基于噪声检测的自适应中值滤波算法[J].计算机应用,2011,31(2):390-392.
Liu M.Dynamic window-based adaptive median filter algorithm[J].Journal of Computer Applications,2011,31(2):390-392.(in Chinese)
[8]刘淑娟,赵晔,董蕊,等.基于斜率的自适应中值滤波算法[J].计算机应用,2012,32(3):736-738.
Liu S J,Zhao Y,Dong R,et al.Adaptive median filtering algorithm based on slope[J].Journal of Computer Applications,2012,32(3):736-738.(in Chinese)
[9]宁春玉,赵春华.自适应中值滤波算法滤除医学图像脉冲噪声[J].计算机工程与应用,2012,48(24):153-156.
Ning C Y,Zhao C H.Removing impulse noise in medical images using adaptive median filtering algorithm[J].Computer Engineering and Applications,2012,48(24):153-156.(in Chinese)
[10]林清华,杜民.新型快速中值滤波算法及在医学图像中的应用[J].计算机应用研究,2012,29(9):3584-3587.
Lin Q H,Du M.Novel fast median filtering algorithm and its application in medical image[J].Application Research of Computers,2012,29(9):3584-3587.(in Chinese)
Adaptive slope difference algorithm for filtering salt and pepper noise in image
ZHOU Ling-fang,CHEN Fei
(School of computer Science and Technology of,Southwest University of Science and Technology,Mianyang,621010,China)
An adaptive median filter based on slope is proposed to remove the impulse noise effectively.The algorithm based on the adaptive median filter algorithm,uses difference of slope to determine noise.Compare with traditional algorithms,it performs better when the noise intensity gets high.Meanwhile it solves the difficulty of filtering noise block.The result shows that the algorithm can remove impulse noise effectively and protect image details well.
slope difference;median filter;noise detection;impulse noise
TP391
A
10.3788/YJYXS20153004.0695
周玲芳(1989-),女,湖南株洲人,硕士研究生,主要研究方向:数字图像处理。E-mail:1021539211@qq.com陈菲(1974-),女,四川绵阳人,副教授,硕士,主要研究方向:嵌入式系统,图像处理。
1007-2780(2015)04-0695-06
2014-09-18;
2014-10-25.
国家自然科学基金资助项目(No.61202044);四川省科技创新苗子工程项目(No.20132022)
*通信联系人,E-mail:1021539211@qq.com