王 野 李钦奉 齐继阳
(江苏科技大学机械工程学院 镇江 212100)
在获取图像时会由于很多因素而使图像引入噪声,从而使图像的灰度值发生了改变,这种灰度值的改变会使我们错误地识别和分析图像,因此为了获取准确的图像信息,我们需要对有噪声的图像进行降噪处理。
频域滤波和空域滤波是目前通用的降噪方法。频域滤波是指在描述图像频率方面的坐标系中进行某种变换,代表的有小波滤波算法[1];空域滤波是指在原图像内对像素灰度值进行直接的数据计算,这种降噪方法更加直接有效,代表的有均值滤波[2~3]和中值滤波[4~5]等。噪声主要分为椒盐噪声和高斯噪声。椒盐噪声是图像中经常见到的一种噪声,其表征为图像上无规则的白点或者黑点。一般是由于影像讯号受到突如其来的强烈干扰、类比数位转换器或位元传输错误等原因会产生椒盐噪声。高斯噪声的产生主要出现在图像采集期间,因为不良照明和高温引起的传感器噪声等会产生高斯噪声。均值滤波在处理高斯噪声时会使图像变得模糊,并且破坏图像的细节信息,而且其对于椒盐噪声处理效果差。中值滤波对椒盐噪声的滤波效果较好,并且对图像的细节也有较好的保护能力,但是中值滤波只适用于噪声密度不大的情况,它对于大密度的噪声处理效果较差。由于均值滤波和中值滤波对椒盐噪声处理的局限性,自适应中值滤波算法[6]由此被提出,其首先设定最大滤波窗口尺寸,然后根据情况逐步增加滤波器的窗口尺寸,既可以有效地去除噪声也对图像的细节有较好的保护能力,该种方法可以很好地弥补中值滤波算法在噪声密度大的情况下处理效果差的不足。刘鹏宇等提出的改进算法比自适应中值滤波简单且效果更好[7]。郭慧娟等提出了一种自适用迭代均值滤波算法,该算法增大窗口并对噪声点进行多轮迭代去噪,有很好的降噪效果[8]。
本文通过融合中值滤波和均值滤波的优点,在自适应中值滤波的基础上提出了一种改进的自适应中值滤波算法,最后通过理论分析和实验分析证实本文算法的可行性。
均值滤波也称为线性滤波,是图像处理中最常用的手段,采用的主要方法为邻域平均法,其基本原理是用均值代替原图像中的各个像素值,其计算公式可定义为[9]
其中G(x,y)为滤波窗口进行滤波后的像素点灰度值,即输出灰度值。 g(x,y)为滤波窗口进行滤波前的像素点灰度值,h 为该滤波窗口中包含的像素点总个数,k 为滤波窗口内像素点的集合。由于均值滤波有一定的局限性,即在进行滤波时会破坏图像的细节,使图像变得模糊,不能很好地去除噪声点。
中值滤波是一种非线性滤波,通过将滤波窗口内的像素点灰度值进行排序求中值,用此中值代替滤波后的灰度值,以此来消除噪声点,其计算公式可定义为[10]
其中G()x,y为滤波窗口进行滤波后的像素点灰度值,即输出灰度值;g(x,y)为滤波窗口进行滤波前的像素点灰度值,k 为滤波窗口内像素点的集合。中值滤波在对椒盐噪声滤波时处理效果较好,对图像的细节也有一定的保护能力。
自适应中值滤波在进行滤波时对于判定含有噪声点的窗口,将滤波区域所有像素点的灰度中值作为滤波的处理结果并不可靠,对于此问题,本文提出了一种改进的自适应中值滤波,通过以中心像素点为角点逐步分割滤波窗口,对滤波窗口的灰度中值进行线性化计算,使灰度中值更适合代替原有的像素灰度值,能够更好的处理椒盐噪声,算法流程图如图1所示。
图1 算法流程图
算法步骤如下。
首先定义S(x,y)为滤波器的作用区域,即滤波器窗口所覆盖的区域;gmin为滤波窗口最小的灰度值;gmax为滤波窗口最大的灰度值;gmed为灰度中值,g(x,y)为滤波窗口像素点的灰度值;Smax为S(x,y)中所允许的最大窗口尺寸;n 为窗口尺寸,G(x,y)为滤波后的像素点灰度值。
算法分为算法A和算法B两个部分。
本文算法改进了自适应中值滤波,通过将滤波窗口以中心像素点为角点进行窗口划分,使每个子窗口中都含有中心像素点,并对其分别进行求中值运算,求得的四个窗口的值再进行中值运算,使求灰度中值的过程线性化,滤波后的结果更适合代替原有的中心像素灰度值,而且对含有中心像素点和边缘像素点灰度值的窗口进行多次中值运算,使得得到的结果更可靠,改进后的算法能够很好地处理椒盐噪声。
实验对Lena 女神图像进行处理来验证本文算法对椒盐噪声的降噪能力并与均值滤波、中值滤波和自适应中值滤波进行比较。实验中分别对图像加入了噪声密度为0.02和0.05的椒盐噪声,并对其进行滤波处理,滤波对比如图2 和图3 所示。本文采用信噪比SNR[11]和峰值信噪比PSNR[12]作为评定算法对噪声的降噪能力,结果如表1所示。
图2 0.02的椒盐噪声滤波图
图3 0.05的椒盐噪声滤波图
表1 SNR和PSNR计算结果
通过图2 和图3 可以看出,均值滤波处理椒盐噪声效果较差,中值滤波、自适应中值滤波和本文算法对椒盐噪声都有较好的降噪能力,随着噪声强度的加大,不能直观地看出处理效果,因此采用表1 中的数据来证明本文算法处理椒盐噪声效果更好。
表1 是四种算法对添加不同强度的椒盐噪声的处理对比,使用信噪比SNR 和峰值信噪比PSNR判断滤波的效果,其值越大说明滤波效果越好,当对图像加入噪声密度为0.02椒盐噪声时,本文算法的信噪比SNR 值为99.40,均值滤波为91.17、中值滤波为95.48,自适应中值滤波为96.21;本文算法的峰值信噪比PSNR 值为40.74,均值滤波为32.53,中值滤波为36.83,自适应中值滤波为37.56,其值均大于均值滤波、中值滤波和自适应中值滤波,对加入噪声密度为0.05 椒盐噪声时效果也是如此。因此,可以直观地看出,改进的自适应中值滤波算法对椒盐噪声的降噪能力优于均值滤波、中值滤波和自适应中值滤波。
本文提出了一种改进的自适应中值滤波算法:
1)通过以中心像素点为角点将滤波窗口划分为四个窗口,对包含有中心像素点和边缘像素点进行多次中值运算,并对窗口进行自适应的扩大,重复的划分窗口,重复的计算,使得得到的结果更可靠。
2)由于滤波图像不能直观地体现算法的可行性,本文通过采用信噪比SNR 和峰值信噪比PSNR直观地验证本文算法的可行性和优化效果。