APP下载

一种去除高密度椒盐噪声的中值滤波算法

2021-02-28李强陈初侠黄涛黄振花锦鑫李亮亮

电脑知识与技术 2021年35期

李强 陈初侠 黄涛 黄振 花锦鑫 李亮亮

摘要:针对现有算法对高密度椒盐噪声滤波不足的问题,本文提出一种去除高密度椒盐噪声的中值滤波算法。该算法首先对椒盐噪声图像进行噪声检测,把图像分为噪声点和信号点;然后只对噪声点利用噪声像素周围的信号点进行中值滤波处理。实验结果表明,本算法比其他算法具备更好地去噪能力和细节保护能力,尤其在高密度(如90%)噪声情况下,本算法获得的峰值信噪比(PSNR)比其他算法要高最少5dB左右。

关键词:高密度椒盐噪声;中值滤波;噪声检测;峰值信噪比

中图分类号:TP301.9      文献标识码:A

文章编号:1009-3044(2021)35-0137-03

1  引言

图像椒盐噪声是由图像传感器、传输信道、解码处理等产生的黑白相间的亮暗点噪声,它是由随机产生的黑点(灰度值为0)和白点(灰度值为255)构成[1]。椒盐噪声会严重影响图像的质量,对图像的后续处理如图像分割、特征提取等会产生不良影响,因此,有效去除图像中的椒盐噪声是数字图像处理的一个重要技术问题[2]。

目前在去除椒盐噪声方面有很多算法,最常见的有标准中值滤波(Standard Median Filtering,SMF)算法、极值中值滤波(Extremum Median Filter,EMF)算法[3]和自适应中值滤波(Adaptive Median Filtering,AMF)算法[4]。SMF算法简单,速度快,但对于图像细节不能有效保护;EMF算法能较好保护图像细节,但对噪声密度敏感,随着噪声密度增大其滤波性能会明显变差;AMF算法在图像细节保护和较高密度椒盐噪声去除方面都比较理想,但随着窗口尺寸的增加,滤波后的图像明显变得模糊,不能有效保护图像细节[2][5]。

为了有效去除图像的高密度椒盐噪声,尽可能保护图像的细节和边缘,本文在借鉴SMF、EMF和AMF算法的基础上,提出一种新的基于中值滤波去除高密度椒盐噪声的算法(Signal Set Median Filtering,SSMF)。该算法的基本思想是:(1)首先检测噪声图像中哪些是噪声点哪些是信号点(非噪声点);(2)对信号点不进行处理,对噪声点利用噪声像素周围的信号点集合的中值替代;(3)对滤波后图像多次进行步骤(1)(2)处理,直至图像中不含有噪声点。

2本文算法原理

为了更好保护图像的细节,本算法的核心只有两步,一是检测噪声点;二是对噪声點进行滤除。下面分别对他们进行详细的阐述。

2.1噪声检测

噪声检测是本算法很关键的一步,因为是否能准确检测到椒盐噪声关系到所有噪声能否可以完美地被滤除。由于我们只对噪声点进行滤波处理,假如不能准确检测出哪些是噪声点,必然导致滤波后的图像还会存在噪声点,那这样的滤波肯定是失败的。

对于8bit的灰度图像X,受到椒盐噪声污染的像素,其特点是它的灰度值只能是0(黑点)或255(白点),所以为保险起见我们把灰度值为0或255的像素都定义为噪声点,并且定义标记矩阵fi,j:

[fi,j=1xi,j=0或2550其他]                              (1)

式(1)中,xi,j表示图像X中位于(i, j)的像素灰度值;fi,j表示图像X中位于(i, j)的像素是否为噪声点,若为噪声点,则fi,j为1,否则fi,j为0。

2.2噪声滤波

在噪声滤波时,只对噪声点进行滤波处理,对非噪声点即信号点不做滤波处理,保留其灰度值不变,直接输出。在对噪声点进行滤波处理时,不让噪声点参与滤波,仅利用滤波窗口中的信号点参与滤波处理。这样做是因为假如噪声点参与滤波,势必会造成噪声的集结和传播,所得到的滤波图像更难接近真实的原始图像。

由于图像像素之间的相关性依赖于像素点的空间位置关系,像素间距离越近,则相关性越高,距离越远则相关性越差[5],为此,滤波窗口我们选择3×3的模板。滤波过程如下:

[yi,j=mediani,jfi,j=1且mediani,j≠0xi,jfi,j=1且mediani,j=0xi,jfi,j=0]                        (2)

式(2)中,xi,j表示椒盐噪声图像中位于(i, j)的像素灰度值;mediani,j表示以噪声点为中心的3×3窗口中信号点集合的中值;fi,j表示椒盐噪声图像中位于(i, j)的像素是否为噪声点,若为噪声点,fi,j为1,否则fi,j为0;yi,j表示滤波后图像中位于(i, j)的像素灰度值。

从式(2)可以看出,当被处理像素为信号点时,不对其进行处理;当被处理像素为噪声点时,先统计窗口中的信号点,若窗口中不存在信号点,则输出保持不变,否则输出为信号点集合的中值。

2.3算法具体步骤

通过以上噪声滤波我们可知,在高密度椒盐噪声情况下一次滤波并不能把所有噪声点滤波掉。为了能有效滤除图像中的所有噪声,本算法在噪声检测和噪声滤波的基础上,进行多次噪声检测和噪声滤波处理,直至滤波后的图像不含椒盐噪声为止。算法具体步骤如下:

(1)读入图像并对图像添加椒盐噪声,添加椒盐噪声后的图像用X表示;

(2)对椒盐噪声图像,从左到右从上到下,采用3×3的窗口模板,对窗口中的中心像素进行处理;

(3)计算窗口中的中心像素灰度值xi,j,若xi,j,≠0且xi,j,≠255,则滤波后的像素灰度值yi,j=xi,j;否则进入步骤(4);

(4)计算窗口中信号点集合的中值mediani,j,若mediani,j≠0,则滤波后的像素灰度值yi,j=mediani,j;否则yi,j=xi,j;

(5)经过步骤(3)(4)得到滤波图像Yk;

(6)检测Yk中是否存在灰度值为0或255的像素,若存在则转到步骤(2),否则滤波结束。

本文滤波算法流程图如图1所示。

3实验结果与分析

为了验证本算法(SSMF)的有效性,将其与SMF、EMF、AMF三种算法进行对比。首先将Lena图像添加不同密度的椒盐噪声,然后将四种不同算法对不同噪声密度的Lena图像进行滤波处理,最后从主观视觉和客观评估指标对不同算法的性能进行评价。

3.1主观视觉评价

为了对四种算法的性能进行较全面的比较,我们对Lena原始图像加入了9种噪声密度的椒盐噪声,噪声密度从10%变化到90%。为展示方便,这里只示出了3种噪声密度的滤波情况,图2为Lena原始图像及其椒盐噪声图像(噪声密度为0.3、0.6、0.9),图3、图4、图5为SMF、EMF、AMF、SSMF四种算法对不同噪声密度图像的滤波结果。其中SMF、EMF算法使用的是5×5的窗口,AMF算法使用的最大窗口是21×21。

从图3至图5可以看出,与其他算法相比,SMF算法滤波后的图像较模糊一些,这是因为它对每个像素进行处理时,都取窗口中像素的中值作为滤波输出,没有受椒盐噪声污染的像素也被中值代替。EMF算法在噪声密度较大时其滤波结果明显变差,这是因为当像素为噪声点时,滤波输出为窗口中像素的中值,而这些中值在噪声密度较大时也会是噪声点。AMF算法比前面两种算法明显要好,无论噪声密度多大,滤波输出的图像都较清晰;但噪声密度增大时滤波窗口也要增大,这导致滤波后像素灰度值与原始图像灰度值差值也变大,图像变得模糊。相比前面三种算法,SSMF算法无论在什么噪声密度情况下,其滤波后的图像明显要更清晰更细腻。

3.2客观评价

除主观视觉评价外,本文还采用客观评估指标对图像滤波的效果进行评价,这里采用峰值信噪比(Peak signal to noise ratio,PSNR)进行评估。PSNR(单位:dB)可反映图像的噪声水平,其值越大,表示濾波后的图像越接近原图像,滤波后图像中的噪声越小,其定义表达式如下:

[PSNR=10log102552×M×Ni=0M-1j=0N-1(yi,j-xi,j)2]                  (3)

式(3)中,xi,j为原始图像,yi,j为滤波后图像,M×N为图像的大小。

表1为SMF、EMF、AMF、SSMF四种滤波算法处理不同噪声密度Lena图像的PSNR数值。从表中可以看出,无论在什么密度的噪声下,SSMF算法的PSNR都是最大的,而且比AMF算法的PSNR还要大很多。在高密度噪声(90%)情况下,SSMF算法的PSNR要比AMF算法高5dB左右,这说明SSMF算法滤波后的图像更接近原始图像,对椒盐噪声图像具有更好地去噪能力和细节保护能力。

4  结束语

在高密度椒盐噪声图像滤波方法中,最有效的方法是先检测噪声像素,然后利用邻域的非噪声像素灰度值来估算噪声像素灰度值[6]。本文在SMF、EMF、AMF算法的基础上,提出了一种在不同椒盐噪声密度下都能有效去除图像椒盐噪声的算法(SSMF),该算法首先对噪声图像进行噪声检测,把图像分为噪声点和信号点,然后只对噪声点利用噪声像素周围的信号点进行中值滤波处理。实验结果表明该算法对椒盐噪声图像具有更好地去噪能力和细节保护能力,尤其在高密度噪声情况下,本算法的优势更加明显。

参考文献:

[1] 王际朝,李奎平,乔田田.高密度椒盐噪声图像的二次去噪方法[J].微电子学与计算机,2014,31(6):53-56.

[2] 陈从平,王健,秦武.高密度椒盐噪声图像开关自适应滤波算法[J].激光与红外,2011,41(7):817-821.

[3] 邢藏菊,王守觉,邓浩江,等.一种基于极值中值的新型滤波算法[J].中国图象图形学报,2001,533-536.

[4] Hwang H,Haddad R A.Adaptive Median filters:new algorithms and results[J].IEEE Transactions on Image Processing,1995,4(4):499-502.

[5] 朱士虎,黄智.一种新的高密度椒盐噪声滤波算法[J].计算机工程,2012,38(18):207-210.

[6] 江巨浪,章瀚,朱柱,等.高密度椒盐噪声的多方向加权均值滤波[J].计算机工程与应用,2016,52(6):204-208.

【通联编辑:朱宝贵】