一种消除椒盐噪声的迭代自适应中值滤波算法的制作方法

文档序号:15199715发布日期:2018-08-19 10:22阅读:1186来源:国知局

本发明属于数字图像处理领域,具体涉及一种消除椒盐噪声的迭代自适应中值滤波算法。



背景技术:

椒盐噪声是数字图像处理中的一种典型噪声,通常是由图像采集设备故障或信号传输过程错误而产生。椒盐噪声会导致图像受损像素取最大或最小灰度值,从而造成图像细节丢失和质量下降,进而极大影响后续图像处理效果。因此,利用高效噪声消除算法对含有椒盐噪声的图像进行降噪预处理显得尤为重要。

近些年来,许多有效的图像降噪算法相继被提出。tukey等人首先提出一种非线性中值滤波器(mf),可有效滤除噪声密度低于20%的噪声,但噪声密度高于20%时,利用该算法所得去噪图像的细节信息丢失严重,算法去噪性能较差。为改善高密度噪声下去噪效果,shresthas等人提出一种自适应中值滤波器(amf),基于预定义窗口尺寸阈值动态调整滤波窗口尺寸,对高密度噪声有较好滤波效果,但该算法使用固定窗口尺寸阈值,对不同噪声密度图像无法自适应调整阈值,而且逐次加大窗口尺寸不仅耗时,还会导致图像模糊。此外,上述算法均没有将噪声像素和非噪声像素区别处理,因而不可避免地损坏非噪声像素。基于此,srinivasanks等人提出一种基于决策的中值滤波算法(dbmf),该算法首先识别噪声像素,即如果像素值位于0和255之间,则保持原值,否则,使用3×3窗口内中值像素进行替换,从而显著改善算法去噪性能。然而,噪声密度较高时,中值将为噪声像素0或255,这种重复的邻域像素替换会产生条纹效应,因此,该算法不能有效去除高密度椒盐噪声。针对此问题,esakkirajans等人提出一种基于改进决策的非对称修正中值滤波器(mdbutmf),该滤波器对高噪声密度下3×3窗口像素均为0和255情况,计算窗口内像素均值进行替换,取得了较好滤波效果,但对于80%到90%高密度噪声图像,该算法不能有效去除局部高密度噪声。为更有效恢复被高密度椒盐噪声污染的图像,dasj等人提出一种选择性自适应中值滤波器(samf),该滤波器首先识别噪声像素,然后基于约束条件动态调整滤波窗口大小,直至获得合适中值以替换噪声像素,从而可显著提升高密度噪声下去噪性能。然而,该算法利用大尺寸窗口所得替换值不仅不能有效反映原始像素信息而且耗时。基于此,kunsothr等人提出一种基于改进决策的中值滤波器(mdbmf),该滤波器仅处理噪声像素并合理增加滤波窗口尺寸,可明显改善高密度噪声图像的去噪性能且运行速度较快。但是,该算法对局部高密度噪声采取保留原噪声像素操作,影响了算法去噪性能。

且上述椒盐噪声消除算法均基于遍历思想,即对图像中每个像素逐次滤波以得到去噪图像。与之相比,基于循环迭代思想,即对算法某次输出去噪图像进行迭代处理,则能更好恢复高密度椒盐噪声图像的原始细节信息。



技术实现要素:

针对传统中值滤波算法对高密度椒盐噪声图像滤波效果差的问题,基于循环迭代处理思想,本发明提出一种消除椒盐噪声的迭代自适应中值滤波算法。

本发明所提迭代自适应中值滤波算法首先识别噪声图像中椒盐噪声,进而对噪声和非噪声像素区别处理以有效去除噪声。椒盐噪声识别方法如下:如果像素在最小灰度值0和最大灰度值255间,则被视为非噪声像素并保持原像素值;如果像素为最小灰度值0或最大灰度值255的椒盐像素,则该像素由iamf算法处理。所提iamf算法流程图如图1所示,具体步骤如下:

第一步:非噪声像素检测及处理

对于尺寸m×n的噪声图像x中待处理像素pij,如果0<pij<255,则像素pij未被污染并保持原值输出;

第二步:噪声像素检测及处理

如果pij=0或pij=255,则像素pij是椒盐像素;选定以pij为中心的3×3滤波窗口w1,则w1中存在以下两种情况:

①非0和非255像素个数不为零,则消除w1中椒盐像素,取剩余像素中值输出;

②非0和非255像素个数为零,则运行步骤三;

第三步:噪声像素进一步处理

选定以pij为中心的5×5滤波窗口w2,则w2中存在以下两种情况:

①非0和非255像素个数不为零,则消除w2中椒盐像素,取剩余像素中值输出;

②非0和非255像素个数为零,则暂取像素pij值输出,存储像素pij坐标(i,j)到坐标向量b,并取迭代标志位f=1;

至此,得到对图像每个像素逐次滤波后的去噪图像y,存储残留椒盐像素坐标的向量b和迭代标志位f;

第四步:迭代滤波判断

判断是否进行循环迭代滤波:如果f=0,则图像y不含椒盐像素,结束迭代并输出去噪图像y;如果f=1,则图像y仍含有椒盐像素并置f=0,进而判断坐标向量b元素个数是否等于图像x尺寸m×n,即判断图像是否被100%椒盐噪声污染,以免算法陷入死循环;若是,结束迭代,算法退化为标准中值滤波;否则,运行步骤五;

第五步:迭代滤波

将输出的去噪图像y及坐标向量b分别赋值给缓存图像t和坐标向量b1,以避免迭代滤波过程所得最新去噪图像y及坐标向量b干扰原始数据,进而对缓存图像t中被坐标向量b1记录位置的椒盐像素重复步骤二到步骤五,直至迭代标志位f=0,即完全消除图像x中椒盐像素。

本发明所提算法最大滤波窗口尺寸为5×5,这样不仅能有效利用噪声像素邻域内非噪声像素以最大程度恢复图像细节,还可克服滤波窗口过大造成替换像素不能有效反映原始像素以及耗时等缺点。此外,只要输出去噪图像y含有椒盐噪声,所提iamf算法可对之迭代处理直至完全消除椒盐噪声。需要注意的是,实际应用中存在被椒盐噪声100%污染的图像,即噪声图像仅含椒盐像素0和255,这将导致算法陷入死循环。因此,本发明所提算法通过设置约束条件以避免无限循环,并采用标准中值滤波算法处理该极端情况。

附图说明

图1为本发明实现的流程图;

图2为本发明所提算法示例;

图3为80%椒盐噪声lena图像恢复;

图4为90%椒盐噪声lena图像恢复;

图5为lena图像psnr和ssim曲线。

具体实施方式

以下结合附图和具体的实施方式对本发明作进一步的说明。

本节以像素矩阵为例,详细阐述本发明所提算法的循环迭代处理思想和噪声滤除方法,以说明所提iamf算法消除噪声的独特优势。

图2(a)模拟了被椒盐噪声污染的7×7示例图像x。对于x中非噪声像素p(1,1)=10,取原值输出;对于椒盐像素p(2,2)=255,取3×3滤波窗口并消除椒盐像素,得到一维数组[1010101010],取中值10输出;对于椒盐像素p(3,3)=255,由于3×3窗口中非椒盐像素个数为零,故取5×5窗口并消除椒盐像素,得到一维数组[101010101010101010],取中值10输出;对于椒盐像素p(4,4)=255,由于5×5窗口中非椒盐像素个数为零,故取原值输出,置迭代标志位f=1并存储像素坐标(4,4)到坐标向量b;其余像素均按该算法处理得到经一次迭代滤波的去噪图像y,如图2(b)所示。

由于迭代标志位f=1,故将输出图像y及坐标向量b分别赋值给缓存图像t和坐标向量b1进行二次迭代滤波并置迭代标志位f=0,对于缓存图像t中唯一被坐标向量b1记录坐标位置的像素p(4,4),取3×3窗口中非椒盐像素中值10输出,得到最新去噪图像y,如图2(c)所示。此时图像y不含椒盐像素且迭代标志位f=0,故停止迭代并输出经两次迭代滤波的去噪图像y。

本发明的有益效果可通过以下实验进一步说明:

实验条件:

为验证本发明所提算法去噪性能,实验选取标准图像库中的六幅图像,512×512lena、720×576boats、512×512pepper、701×511police、720×576barbara和256×256cameraman图像,并采用mf、amf、mdbutmf、samf和mdbmf算法,分别从去噪性能和运行时间两方面与所提iamf算法进行对比。实验环境为intelcorei5-6500cpu,3.20ghz,内存4gb,操作系统为64位windows10,仿真软件matlabr2014b。

为定量评估所提算法去噪性能,本发明采用由huynh-thuq等人定义的峰值信噪比(psnr)及wangz等人提出的结构相似性指数(ssim)作为评价指标,分别如式(1),式(3)所示:

其中,mse表示均方误差,x是尺寸为m×n的原始图像,其均值方差分别为μx,σx2;y为对应的去噪图像,其均值方差可分别表示如下:μy,σy2,σxy则为x,y的协方差。此外,c1=(k1l)2,c2=(k2l)2是确保分母不为零的常数,l=255为像素最大值,k1=0.01,k2=0.03为默认常数。

实验内容:

实验1:对lena图像分别添加密度为80%和90%的椒盐噪声,不同算法去噪效果如图3、4所示。由视觉效果对比可知,高密度噪声下,mf、amf和mdbutmf算法去噪性能较差。samf和mdbmf算法通过调整滤波窗口尺寸从而使得高密度噪声下去噪性能得以改善。然而,需要注意的是,这两种算法均基于遍历思想,故去噪图像仍不同程度地残留有椒盐像素,而本发明所提算法基于迭代思想,则可完全消除高密度椒盐噪声且能较好恢复图像细节信息。由此可知,本发明所提算法高密度噪声下去噪性能与其它五种算法相比改善显著。

实验2:对于椒盐噪声密度为10%到99%的lena图像,不同算法的psnr和ssim值对比如表1、2所示,其对应的psnr及ssim曲线如图5所示。由表1、2及图5可知,mf和amf算法去噪性能较差,这是没有将噪声像素和非噪声像素区别处理,从而损坏非噪声像素的缘故。对于评价效果更好的ssim指数,mdbmf算法通过合理调整滤波窗口尺寸,其对密度低于80%噪声的去噪性能相比mdbutmf和samf算法较好,但噪声密度更高时去噪性能相比samf算法稍差。所提iamf算法基于循环迭代思想并合理调整滤波窗口尺寸,对密度低于70%噪声的去噪性能与mdbmf算法基本相同,而对密度高于70%噪声的去噪性能则明显优于其它五种算法。由此可知,所提iamf算法在低噪声密度和高噪声密度条件下均有较好去噪性能。

表1不同噪声密度下psnr对比

表2不同噪声密度下ssim对比

实验3:为验证本发明所提算法对不同性质图像的去噪性能,实验选取标准图像库中的boats、pepper、police、barbara和cameraman图像并在90%噪声密度下对不同算法ssim值进行测试,结果如表3所示。由表3可知,所提iamf算法滤波后去噪图像与原始图像结构相似性更高,且与输入图像性质无关。

表390%噪声密度下ssim对比

实验4:选取标准图像库中的lena图像以在上述计算平台上评估不同算法的运行时间,测试结果如表4所示。通过对比发现由于mf算法简单,其耗时最短,但该算法去噪性能较差。mdbutmf和mdbmf算法基于遍历思想,平均耗时相对较短,然而其高密度噪声下去噪性能较差。本发明所提iamf算法最大采用5×5滤波窗口,平均耗时远低于滤波窗口较大的amf和samf算法,然而由于采用迭代思想,其平均耗时略高于mdbutmf和mdbmf算法,但牺牲运算速度所换来的收益是所提iamf算法不同噪声密度下去噪性能突出,因而所付出的时间代价是值得的。

表4lena图像运行时间对比

综上所述,本发明针对传统中值滤波算法滤波效果差的问题,基于循环迭代处理思想,提出一种消除椒盐噪声的迭代自适应中值滤波算法。该算法首先对噪声像素和非噪声像素区别处理以避免损坏非噪声像素,而后自适应调整滤波窗口尺寸并采用循环迭代思想处理噪声像素,从而保证完全滤除椒盐噪声及较好的细节恢复能力,进而可显著改善高密度椒盐噪声图像的去噪效果。仿真结果表明,对不同密度的椒盐噪声,与mf、amf、mdbutmf、samf和mdbmf算法相比,本发明所提算法具有更好的去噪性能及较快的运行速度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1