用于图像处理的加权中值滤波算法.pdf
《用于图像处理的加权中值滤波算法.pdf》由会员分享,可在线阅读,更多相关《用于图像处理的加权中值滤波算法.pdf(4页珍藏版)》请在冰豆网上搜索。
收稿日期:
2008-07-16基金项目:
国家自然科学基金(60704012);中国博士后基金项目(20070410826)作者简介:
邓秀勤(1966-),女,广东连州人,副教授,研究方向为智能优化算法、图像处理。
用于图像处理的加权中值滤波算法邓秀勤1,熊?
勇2(1.广东工业大学应用数学学院,广东广州510006;2.华南理工大学计算机科学与工程学院,广东广州510640)摘?
要:
提出了一种基于相似度函数的自适应加权中值滤波算法。
该方法首先通过噪声检测确定图像中的噪声点,然后根据窗口内噪声点的个数自适应地调整滤波窗口的尺寸,并根据相似度大小,巧妙地将滤波窗口内各个像素点自适应分组并赋予相应的权重,最后对检测出的噪声点进行加权中值滤波。
计算机模拟实验结果表明:
该算法既能有效地滤除噪声,又能较好地保护图像细节,比标准中值滤波具有更优良的滤波性能。
关键词:
加权中值滤波;脉冲噪声;细节保护;自适应中图分类号:
TP301.6?
文献标识码:
A?
文章编号:
1673-629X(2009)03-0046-03WeightedMedianFilterAlgorithmforImageProcessingDENGXiu-qin1,XIONGYong2(1.SchoolofAppliedMathematics,GuangdongUniversityofTechnology,Guangzhou510006,China;2.SchoolofComputerScience&Engineering,SouthChinaUniversityofTechnology,Guangzhou510640,China)Abstract:
Analgorithmcalledadaptiveweightedmedianfilteralgorithmbasedonsimilarityfunctionisproposedbythewriterofthisart-icle.Themethodworksinthisway:
firstly,noisedetectionisemployedtodeterminenoisepointsinimage,thenthesizeoffilteringwin-dowisadaptivelyadjustedaccordingtothenumberofnoisepoints,andthepixelsareadaptivelygroupedinaningeniouswaybasingonthesimilarityandweightvalueofeverypixelsiscalculaedadaptively.Finally,anewweightedmedianfilteralgorithmisusedtofilternoisepixels.Thesimulationexperimentshowsthatthisalgorithmbothmayeffectivelyeliminatethenoise,andmayprotectimagedetailwell.Thereforeithasbetterfilteringperformancethanthestandardmedianfiltermethod.Keywords:
weightedmedianfilter;impulsenoise;detailpreserving;adaptive0?
引?
言图像信号在形成和传输过程中,由于图像采集系统、传输媒介及成像系统的不完善,会引入不同程度的噪声,从而使图像质量下降。
有效的噪声清除工作是图像处理中非常关键的一个环节,由于图像的许多后续处理(如边缘检测、模式识别、图像分割等)的成败好坏在很大程度上依赖于噪声去除的效果和质量。
标准中值滤波由于可对长拖尾概率分布的噪声起到良好的平滑效果且可对图像中的某些细节起到保护作用,因而在图像去噪处理中得到广泛应用。
但标准中值滤波去除噪声的性能受滤波窗口尺寸的影响较大,在抑制图像噪声和保护图像细节两方面存在一定的矛盾1:
滤波窗口小,可较好地保护图像细节,但滤除噪声的能力会受到限制;滤波窗口大,可加强噪声抑制能力,但会损失太多的图像细节(如图像边缘、拐角以及细线等),造成图像模糊。
为了解决既要降噪,又要保护图像细节这一矛盾,学者们提出了许多改进的中值滤波算法。
如中心加权中值滤波2,3,就是通过给窗口内的像素赋不同的权值来调节噪声抑制与细节保护之间的矛盾,但牺牲的是噪声的消除能力;开关中值滤波算法4首先通过一个噪声分类器来判断哪些像素是噪声,哪些是信号,然后用迭代的方法进行滤波处理,但该方法在噪声很强时,便接近于标准中值滤波且迭代处理所需时间较长;针对标准中值滤波处理空间密度较大的脉冲噪声能力不足,经典自适应中值滤波算法5采用了通过扩大窗口来相对地减少噪声密度,从而可处理空间密度更大的脉冲噪声,并且平滑非脉冲噪声时,还可以保护更多的图像细节,但该方法也存在以下缺陷:
?
在窗口尺寸达到滤窗的最大值时,仍没有找到第19卷?
第3期2009年3月?
计算机技术与发展COMPUTERTECHNOLOGYANDDEVELOPMENT?
Vol.19?
No.3Mar.?
2009滤波窗口的中值的像素点,采用了原灰度值直接输出的做法,这样会导致一部分噪声点不能被滤除,从而影响了图像的滤波效果;?
对于满足滤波条件的噪声点,采用了标准中值滤波的方法,因此也造成了图像的边界模糊或缺失。
文中提出了一种新的自适应加权中值滤波算法,其设计思想是:
首先用一个3?
3窗口在图像上滑动,对图像中的像素进行噪声检测,将其分为噪声点和非噪声点两大类,然后根据3?
3窗口中噪声点的个数自适应调整滤波窗口尺寸,并根据相似度大小,巧妙地将滤波窗口内各个像素点自适应地分组并赋予相应的权重,最后采用一种新的加权中值滤波算法对图像中的噪声点进行滤波处理。
该算法通过自适应地调整滤波窗口大小及巧妙地将各个像素点分组并赋予相应的权重,较好地解决了噪声抑制与细节保护之间的矛盾,有效地提高了图像处理的自适应性和细节保护能力。
1?
自适应加权中值滤波算法文中给出的自适应加权中值滤波算法包括三个过程:
(1)对图像进行噪声检测;
(2)根据窗口内噪声点的个数,自适应确定滤波窗口大小;(3)采用文中提出的加权中值滤波算法滤除噪声点。
1.1?
对图像进行噪声检测噪声检测是整个滤波算法中比较关键的一步,它为图像中像素点的正确分类提供依据。
噪声检测的方法较多,文中采用文献6给出的检测方法。
确定图像的噪声点时采用3?
3窗口在图像上滑动,该窗口中心像素点(i,j)的灰度值为f(i,j),则该窗口内所有像素值构成如下集合:
Si,j=f(i+k,j+r)|k,r=-1,0.1求出该窗口中所有像素的平均值Average(Si,j)=19?
1k=-1?
1r=-1f(i+k,j+r)令Zmax,Zmin分别为Si,j中灰度值的最大值和最小值,确定噪声点的方法为:
当中心像素的灰度值f(i,j)=Zmax,或f(i,j)=Zmin,或|f(i,j)-Average(Si,j)|dij,则判定(i,j)为噪声点。
噪声点标记为N(i,j)=1,非噪声点N(i,j)=0。
其中检测阈值dij表示基于人眼视觉特性的噪声敏感度系数,定义为7:
?
dij=?
13?
1k=-1?
1r=-1f(i+k,j+r)-Average(Sij)21.2?
自适应确定滤波窗口大小标准中值滤波算法去除噪声的性能受滤波窗口尺寸的影响较大,滤波窗口小,可较好地保护图像细节,但滤除噪声的能力较弱;滤波窗口大,虽可加强噪声抑制能力,但图像会变得模糊。
根据这些特点,结合小窗口滤波和大窗口滤波两方面的优势,根据窗口内噪声点的个数,自适应确定滤波窗口大小。
在统计噪声点个数时,仍然采用3?
3窗口。
在确定窗口中心像素为噪声点的情况下,统计公式为:
Num(Si,j)=?
1k=-1?
1r=-1N(i+k,j+r)滤波窗口的大小Li,j由Num(Si,j)的大小自适应确定,它只跟3?
3窗口内噪声点的个数有关,方法如下:
Li,j=3?
3?
Num(Si,j)?
1,2,35?
5?
Num(Si,j)?
4,5,67?
7?
Num(Si,j)?
7,8,91.3?
对噪声点进行滤波在确定噪声点和滤波窗口大小之后,图像中的像素分为噪声点和非噪声点两类。
对非噪声点仍保留本身的灰度值,但可能会参与其邻域像素的滤波,而噪声点则采用一种新的加权中值滤波算法将其滤除。
设图像F经滤波后的输出图像为G,F在索引位置(i,j)的灰度值为f(i,j),G在索引位置(i,j)的灰度值为g(i,j),首先利用相似度函数计算出滤波窗口内每个像素点的相似度,并将其从小到大排序,根据相似度的大小对滤波窗口内各个像素点自适应地分组并赋予相应的权值,然后对滤波窗口中心像素点(i,j)做加权中值滤波,得到窗口中心的输出响应。
相似度大小的意义反映为滤波窗口内某一像素点(i+k,j+r)的灰度值f(i+k,j+r)与采样窗口中心像素点灰度值f(i,j)的相似程度,如果滤波窗口内某一像素点的灰度值越接近于中心像素点灰度值,则其相似度就越大;反之,其相似度就越小。
它的表达式为S(i+k,j+r)=?
(|f(i+k,j+r)-f(i,j)|)其中?
是以|f(i+k,j+r)-f(i,j)|为自变量的相似度函数,满足:
1)?
(x)为区间0,+?
上的单调递减函数;2)?
(0)=1,?
(?
)=0。
文中采用的相似度函数为?
(x)=11+x2。
文中提出的加权中值滤波过程具体描述如下:
若f(i,j)是噪声点的灰度值,其滤波窗口大小Li,j=(2n+1)?
(2n+1),n?
1,2,3,则
(1)算出滤波窗口内各个像素点(i+k,j+r)的相似度Simila(i+k,j+r)=?
47?
第3期?
邓秀勤等:
用于图像处理的加权中值滤波算法11+(f(i+k,j+r)-f(i,j)2,(k,r?
-n,n)
(2)将滤波窗口内各个像素点(i+k,j+r)的相似度从小到大排序,根据排序结果将滤窗内(2n+1)?
(2n+1),n?
1,2,3个像素点分为(2n+1)组,其中第1到2n组每组均含u有个像素点(其中u=2n+2),其序号分别从(w-1)u+1到wu,w=1,2,?
2n,第w=2n+1组仅含1个像素点(即相似度最大的那个)。
这样,就可对第w组中的每个像素点(i+k,j+r)所对应的灰度值f(i+k,j+r)都赋予一个相应的权重w(w=1,2,?
2n+1)。
也就是说,可对滤波窗口内各个像素点自适应地分组并巧妙地赋予相应的权重w。
(3)对滤波窗口中心像素点(i,j)做加权中值滤波,就得到了噪声点滤波后对应的灰度值为g(i,j)=Weighted-Medf(i-n,j-n),f(i-n,j-n+1),?
f(i,j),?
f(i+n,j+n)2?
仿真实验与结果分析为了验证文中提出的算法能够有效地滤除不同密度的脉冲噪声并且保护图像细节信息,进行仿真实验。
在Matlab7.0平台上采用图1(a)所示大小为256?
256?
8bits的标准测试图像Lena作为原始图像,在图1(a)中分别加入5%,10%,30%,40%,60%的脉冲噪声,分别采用3?
3和5?
5窗口的标准中值滤波算法MF,自适应中值滤波算法(3?
3窗口到7?
7窗口)AMF及文中算法对图像进行去噪处理,以便比较文中提出的算法与MF和AMF噪声滤除及细节保护的性能优劣,对实验结果用输出图像的峰值信噪比(PSNR)和归一化均方误差(NMSE)作为评价滤波性能的客观标准