一种防止边缘模糊的图像椒盐噪声去除方法与流程

文档序号:12787273阅读:906来源:国知局
一种防止边缘模糊的图像椒盐噪声去除方法与流程

本发明涉及一种图像处理方法,具体涉及一种对受到椒盐噪声污染的图像进行噪声去除的方法。



背景技术:

图像在进行数字化过程中以及传输过程中常受到成像设备与外部环境噪声干扰等影响,这种受到干扰的图像称为含噪图像或噪声图像,减少数字图像中噪声的过程则被称为图像去噪。图像去噪的目的是根据观察到的降质图像估计恢复原始真实图像,而在去噪过程中,图像中的重要结构信息如边缘信息会在一定程度上遭到破坏,边缘变模糊,这会给图像处理的后续工作(如边缘检测、模式识别等)带来干扰,因此在采取合适的方法去噪的同时保持图像的边缘信息、防止边缘由于图像平滑处理而变得模糊是非常有必要的。

椒盐噪声是图像在产生、传输、获取过程中比较常见的一种噪声污染,该噪声的特点为被污染的像素灰度值急剧增大或缩小,对图像的原始信息干扰非常强,需要采取针对性的方法对椒盐噪声图像进行预处理。

传统中值滤波是可以用来去除椒盐噪声的一种非线性滤波器。中值滤波器将滤波窗口内所有像素灰度值进行排序,然后取中值作为滤波窗口中心点的输出,与线性平滑滤波器相比,能够相对地减少图像模糊,并且能够滤除低密度的椒盐噪声。但在面对高密度椒盐噪声时,中值滤波器需要增大滤波窗口,虽然能够有效去除噪声,但是恢复出的像素失真情况严重,图像边缘信息遭到破坏。

为了更好地保护图像细节,一些改进型中值滤波器应运而生,例如,《模糊系统与数学》2012年第1期166-174,“基于模糊中值滤波的椒盐噪声去除方法”一文中,通过比较图像各像素点的灰度值,定义基于图像梯度信息的各点被类别为噪声点的模糊隶属函数,利用此模糊隶属函数对中值滤波方法进行加权,得到一种加权中值滤波器,可实现边缘处椒盐噪声的有效滤除。《计算机工程与应用》2014,50(17):134-136,“一种新型的自适应模糊中值滤波算法”中,通过比较滤波窗口内像素点的灰度值与像素点灰度值的均值定义了模糊滤波系统,利用此模糊滤波系数对滤波方法进行加权,得到加权中值滤波器。

模糊加权算法的主要内容是设计规则,基于窗口内各个像素不同的权值,最后求出中心像素的灰度值。该方法的难点是模糊规则的产生,因为尚没有理论能够证明采取的规则是否科学合理,很多模糊规则的阈值都是进行大量实验然后依赖于结果来取阈值的,并且阈值对于不同图像不具有普遍的适应性;同时,该方法对于图像的边缘部分像素点没有给予更多的关注,去除噪声后边缘部分信息无法保持,边缘变得模糊。

因此,有必要提供新的图像椒盐噪声的去除方法。



技术实现要素:

本发明的发明目的是提供一种防止边缘模糊的图像椒盐噪声去除方法,在保证去噪效果的同时,不使用模糊规则,不需要进行阈值的选取,从而提高计算效率,并使图像边缘信息得到较好保持。

为达到上述发明目的,本发明采用的技术方案是:一种防止边缘模糊的图像椒盐噪声去除方法,包括下列步骤:

(1) 输入含椒盐噪声的数字图像,图像中的像素点(i,j)的灰度值为g(i,j),经过去噪处理后的灰度值为f(i,j),其中,(i,j)为像素点在整幅图像中的坐标;

(2) 如果g(i,j)为0或255,则进行步骤(3),否则该像素点视为未受椒盐噪声污染,f(i,j) = g(i,j),转向步骤(8);

(3) 以(i,j)为中心点,取3×3的滤波窗口,剪切掉滤波窗口内所有灰度值为0或255的像素点,若剩余像素点个数小于6,转向步骤(4),否则将剩余像素点从小到大进行排序,得到序列{g1, g2,…, gk,…, gM},式中,M为剩余像素点的个数,gk为按大小排列第k个像素点的灰度值,并对各相邻两像素点的灰度值求差,得到M-1个差值,,根据所获得的差值判断待处理像素点是否为边缘像素点,如果是边缘像素点,则以最大的差值对应的k的值,进行如下判断,否则转步骤(4);

若,输出图像的像素点f(i,j)的值为

若,则输出的f(i,j)为

若,则先令输出为:

若,则输出f(i,j)为

若,则输出f(i,j)为

若,则输出f(i,j)为

转向步骤(8);

(4) 以(i,j)为中心点,其上、下、左、右四个相邻像素点作为四连通区域构成滤波窗口,剪切掉滤波窗口内所有灰度值为0或255的像素点,若剩余像素点个数大于等于2,对剩余像素点灰度值进行平均运算得到该点的输出f(i,j),转向步骤(8),否则转步骤(5);

(5) 以(i,j)为中心点,其周围八个相邻像素点作为八连通区域构成滤波窗口,剪切掉滤波窗口内所有灰度值为0或255的像素点,如果剩余像素点为空集,转向步骤(6),否则对剩余像素点进行平均运算得到输出f(i,j),转向步骤(8);

(6) 以(i,j)为中心点的5×5区域中,外周的16个像素点构成滤波窗口W,剪切掉滤波窗口内所有灰度值为0或255的像素点,如果剩余像素点为空集,转向步骤(7),否则

其中集合N表示滤波窗口内外层16个像素点中灰度值在0到255之间的像素值的集合,sum(N)表示集合N中各元素之和,card(N)为集合N中的元素个数,转向步骤(8);

(7) 采用递归形式的滤波窗口,输出灰度值为:

(8) 对待处理图像中的各像素点重复步骤(2)至(7),直至完成所有像素点的处理,得到滤波处理后的图像。

上述技术方案中,步骤(3)中,判断待处理像素点是否为边缘像素点的方法可以采用以下两种方法中的一种:

其一是局部判定法,根据局部8连通像素灰度值排序后,每相邻两灰度值求差,对所得差值求均值得到,将各个分别与比较,若存在,,使得,则认为待处理像素点为边缘像素。即以均值的2倍作为阈值来判定图像局部变化幅度。

其二是全局判定法,取中的最大值,与方差阈值进行比较,若最大的大于方差阈值,则认为待处理像素点为边缘像素;所述方差阈值等于全图所有像素灰度值的方差值除以32(2的5次方)。即以整个图像所有像素灰度值的统计方差来判定图像的局部变化幅度。

由于上述技术方案运用,本发明与现有技术相比具有下列优点:

1、本发明首先进行边缘像素判断,利用图像边缘像素点周围像素值差异较大的特性,判断出边缘像素,采用单独的方法进行噪声去除,使得图像边缘信息得到较好保持,防止了边缘模糊情况。

2、本发明基于一致权重均值滤波实现图像的椒盐噪声去除,在滤波窗口内剪切掉椒盐噪声后对剩余像素点给予相同权重进行加权计算,最后得到输出图像,因此无需设计模糊规则;不需要进行阈值的选取,提高了计算效率。

3、本发明通过滤波窗口中剪切掉椒盐噪声后的剩余像素点的数量判断污染严重程度,从而选择相对应的滤波窗口进行均值滤波,能适应不同污染程度的图像的噪声去除。

附图说明

图1是本发明实施例一的流程图;

图2是实施例一中四连通区域的示意图;

图3是实施例一中八连通区域的示意图;

图4是实施例一中5×5区域的示意图;

图5是实施例一中递归窗口的示意图;

图6是实施例一中滤波效果示意图,其中,a为原始图像,b为80%噪声图像,c为实施例去噪后的图像。

图7是实施例二的流程图。

具体实施方式

下面结合附图及实施例对本发明作进一步描述:

实施例一:参见图1所示,一种边缘模糊的图像椒盐噪声的去除方法,包括下列步骤:

(1) 输入含椒盐噪声的数字图像,图像中的像素点(i,j)的灰度值为g(i,j),经过去噪处理后输出的灰度值为f(i,j),其中,(i,j)为像素点在整幅图像中的坐标;

(2) 如果g(i,j)为0或255,则进行步骤(3),否则该像素点视为未受椒盐噪声污染,不做任何处理直接输出,对应的输出图像的像素点f(i,j)的值为:f(i,j) = g(i,j),转向步骤(8);

(3) 以(i,j)为中心点,取3×3的滤波窗口,剪切掉滤波窗口内所有灰度值为0或255的像素点,若剩余像素点个数小于6,转向步骤(4),否则将剩余像素点从小到大进行排序,得到序列{g1, g2,…, gk,…, gM},式中,M为剩余像素点的个数,gk为第k个像素点的灰度值,并对相邻两像素点的灰度值作差,得到M-1个差值,,对所得差值求均值得到,将与比较,若存在,,使得,则认为待处理像素点为边缘像素,并进行如下判断,否则转步骤(4);

若,输出图像的像素点f(i,j)的值为

若,则输出的f(i,j)为

若,则先令输出为:

若,则输出f(i,j)为

若,则输出f(i,j)为

若,则输出f(i,j)为

转向步骤(8);

(4) 以(i,j)为中心点,其上、下、左、右四个相邻像素点作为四连通区域构成滤波窗口,剪切掉滤波窗口内所有灰度值为0或255的像素点,若剩余像素点个数大于等于2,对剩余像素点灰度值进行平均运算得到该点的输出f(i,j),例如,如附图2所示,假设g(i,j)四连通区域里只有g(i-1,j)是0或255,其他三个像素点均在0到255之间,即存在1个被剪切的像素,则输出为

完成后转向步骤(8);

否则,四连通区域中只剩下1个像素点时,转步骤(5);

(5) 以(i,j)为中心点,其周围八个相邻像素点作为八连通区域构成滤波窗口,剪切掉滤波窗口内所有灰度值为0或255的像素点,如果剩余像素点为空集,转向步骤(6),否则对剩余像素点进行平均运算得到输出f(i,j),转向步骤(8);

例如,如附图3所示,假设g(i,j)八连通区域剪切掉0或255灰度值后只剩下图中三个像素,则输出为

(6) 如附图4所示,以(i,j)为中心点的5×5区域中,外周的16个像素点构成滤波窗口W,剪切掉滤波窗口内所有灰度值为0或255的像素点,如果剩余像素点为空集,转向步骤(7),否则

其中集合N表示滤波窗口内外层16个像素点中灰度值在0到255之间的像素值的集合,sum(N)表示集合N中各元素之和,card(N)为集合N中的元素个数,即,此时的输出为最外层16个像素剪切掉0或者255后的均值,转向步骤(8);

(7) 采用递归形式的滤波窗口,输出灰度值为:

当椒盐噪声密度很大时,5×5的滤波窗口有可能全被灰度值为0或255的噪声充满,所有像素都被极值剪切掉了,则进入本步骤。此时,采用如附图5所示的递归形式的滤波窗口,当处理g(i,j)时,在它的上方区域以及左边的像素都已经处理好了,可以利用这些基本不含噪声的像素来求得f(i,j);

(8) 对待处理图像中的各像素点重复步骤(2)至(7),直至完成所有像素点的处理,得到滤波处理后的图像。

如图6所示,其中,a为原始的Lena图像,b为加入80%椒盐噪声后的图像,采用上述方法对其进行处理。具体处理方法详述如下:

读入像素点g(i,j),如果其灰度值不为0或255,则视为未受椒盐噪声污染,不做任何处理,直接输出;

如果其灰度值为0或255,则进行如下处理:

A.选取中心点为g(i,j)的3×3滤波窗口,剪切掉窗口内灰度值为0或255的值,若是剩余像素个数M小于6,则转步骤B;否则将剩余像素从小到大进行排序,并将相邻两像素作差,得到M-1个差值,求所有差值的平均值,并将各差值与2倍的平均值进行比较,当存在差值大于等于2倍的平均值时,则认为待处理像素点为边缘像素点,否则转步骤B。判断比2倍平均值大的差值所处位置,若其索引值k小于M/2,则将排序后的第k+1个像素点之后包括第k+1个像素点的所有像素值相加求平均值作为输出f(i,j);若其索引值k大于M/2,则将排序后的第k个像素点之前包括第k个像素点的所有像素值相加求平均值作为输出f(i,j);若其索引值k等于M/2,则将所有剩余像素点相加求平均值f,并判断f值与第k和第k+1个像素点值之间的距离,若f值与第k个像素的值之间距离更小,则将第k个像素点之前包括第k个像素点的所有像素值相加求平均值作为输出f(i,j);若f值与第k+1个像素的值之间距离更小,则将第k+1个像素点之后包括第k+1个像素点的所有像素值相加求平均值作为输出f(i,j);若f值与第k和第k+1个像素点之间的距离相等,则将f值作为输出f(i,j)。

B.滤波窗口W为中心点g(i,j)的四连通区域,剪切掉滤波窗口内所有灰度值为0或255的像素,若剩余像素个数大于等于2,对剩余像素灰度值进行平均计算得到该点的输出f(i,j),否则转步骤C;

C.滤波窗口W改为八连通区域,剪切掉灰度值为0或255的像素,对剩余像素进行平均运算得到输出f(i,j),若八连通区域内剪切掉极值后为空集则转步骤D;

D.滤波窗口W改为5×5大小,剪切掉滤波窗口最外层16个像素中所有灰度值为0或255的像素,对剩余像素进行平均计算得到输出f(i,j),若5×5滤波窗口内剪切掉极值后为空集则转步骤E;

E.滤波窗口改为3×3的递归形式,将其上方和左边已经处理好的像素进行平均计算得到该点的输出f(i,j)。

如图6所示,其中,a为原始的Lena图像,b为加入80%椒盐噪声后的图像,采用上述方法对其进行处理。

c为滤波处理后的效果图。可见,本实施例能有效去除椒盐噪声。

分别采用中值滤波法(MF,median filtering algorithm)、模糊中值滤波法(FMF,fuzzy median filtering)、自适应模糊中值滤波法(NAMF,adaptive fuzzy median filtering)和本实施例的方法对加入不同椒盐噪声密度的Lena图像进行处理,获得的恢复信噪比(PSNR,peak signal to noise ratio)如表1所示。

从表中数据可见,当噪声密度较大时,MF和FMF两种方法效果都较差,几乎无法恢复图像,而NAMF算法和本文算法能够在噪声密度较大的情况下较好的恢复图像;而相对于NAMF算法,本文方法在噪声密度较低时亦能够大幅提高去噪效果,因此本发明所提供方法具有较好效果。

表1Lena图像上各方法的PSNR数值

实施例二:参见图7所示,一种边缘模糊的图像椒盐噪声的去除方法,包括下列步骤:

(1) 输入含椒盐噪声的数字图像,图像中的像素点(i,j)的灰度值为g(i,j),经过去噪处理后输出的灰度值为f(i,j),其中,(i,j)为像素点在整幅图像中的坐标;

(2) 如果g(i,j)为0或255,则进行步骤(3),否则该像素点视为未受椒盐噪声污染,不做任何处理直接输出,对应的输出图像的像素点f(i,j)的值为:f(i,j) = g(i,j),转向步骤(8);

(3) 以(i,j)为中心点,取3×3的滤波窗口,剪切掉滤波窗口内所有灰度值为0或255的像素点,若剩余像素点个数小于6,转向步骤(4),否则将剩余像素点从小到大进行排序,得到序列{g1, g2,…, gk,…, gM},式中,M为剩余像素点的个数,gk为第k个像素点的灰度值,并对相邻两像素点的灰度值作差,得到M-1个差值,,计算整个图像中所有像素的灰度值的方差,将方差值除以32得到方差阈值,取中的最大值,与方差阈值进行比较,若最大的大于方差阈值,则认为待处理像素点为边缘像素,并以该最大的对应的k值,进行如下判断,否则转步骤(4);

若,输出图像的像素点f(i,j)的值为

若,则输出的f(i,j)为

若,则先令输出为:

若,则输出f(i,j)为

若,则输出f(i,j)为

若,则输出f(i,j)为

转向步骤(8);

(4) 以(i,j)为中心点,其上、下、左、右四个相邻像素点作为四连通区域构成滤波窗口,剪切掉滤波窗口内所有灰度值为0或255的像素点,若剩余像素点个数大于1,对剩余像素点灰度值进行平均运算得到该点的输出f(i,j),

完成后转向步骤(8);

否则,四连通区域中只剩下1个像素点时,转步骤(5);

(5) 以(i,j)为中心点,其周围八个相邻像素点作为八连通区域构成滤波窗口,剪切掉滤波窗口内所有灰度值为0或255的像素点,如果剩余像素点为空集,转向步骤(6),否则对剩余像素点进行平均运算得到输出f(i,j),转向步骤(8);

(6)以(i,j)为中心点的5×5区域中,外周的16个像素点构成滤波窗口W,剪切掉滤波窗口内所有灰度值为0或255的像素点,如果剩余像素点为空集,转向步骤(7),否则

其中集合N表示滤波窗口内外层16个像素点中灰度值在0到255之间的像素值的集合,sum(N)表示集合N中各元素之和,card(N)为集合N中的元素个数,即,此时的输出为最外层16个像素剪切掉0或者255后的均值,转向步骤(8);

(7) 采用递归形式的滤波窗口,输出灰度值为:

当椒盐噪声密度很大时,5×5的滤波窗口有可能全被灰度值为0或255的噪声充满,所有像素都被极值剪切掉了,则进入本步骤。在递归形式的滤波窗口中,当处理g(i,j)时,在它的上方区域以及左边的像素都已经处理好了,可以利用这些基本不含噪声的像素来求得f(i,j);

(8) 对待处理图像中的各像素点重复步骤(2)至(7),直至完成所有像素点的处理,得到滤波处理后的图像。

分别采用中值滤波法(MF,median filtering algorithm)、模糊中值滤波法(FMF,fuzzy median filtering)、自适应模糊中值滤波法(NAMF,adaptive fuzzy median filtering)和本实施例的方法对加入不同椒盐噪声密度的Lena图像进行处理,获得的恢复信噪比(PSNR,peak signal to noise ratio),如表2所示。

表2 :Lena图像上各方法的PSNR数值

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