一种滤除图像椒盐噪声的方法转让专利

申请号 : CN201210118438.0

文献号 : CN102663705B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李天翼刘伟李小平熊维军

申请人 : 成都市知用科技有限公司

摘要 :

本发明公开了一种滤除图像椒盐噪声的方法,包括以下步骤:以(a,b)为中心,取3×3邻域,判断输入图像F的像素(a,b)是否噪声点,如果是,则进入下一步,如果不是,则直接输出像素的输入灰度值;根据该邻域中非极值点的个数选取对应的非极值点作为参与运算像素(x,y);对所有参与运算像素计算相应权值;计算像素(a,b)的输出灰度值,将所得值置入g(a,b);结束像素(a,b)的滤波;重复上述过程,直到完成输入图像F中所有像素的滤波。本发明综合考虑参与运算像素的灰度差与距离两方面因素,通过设计合理的单调函数计算权值,再通过加权均值计算得到中心像素的输出值,使输出值尽量逼近中心像素的真实值,获得良好的滤波图像。

权利要求 :

1.一种滤除图像椒盐噪声的方法,其特征在于:包括以下步骤:(1)判断输入图像F的像素(a,b)是否为噪声点:以像素(a,b)为中心,取3×3邻域,判断像素(a,b)的输入灰度值f(a,b)是否为邻域极值,如果是,则判断像素(a,b)是噪声点并进入步骤(2),如果不是,则判断像素(a,b)不是噪声点并输出f(a,b)到输出灰度值g(a,b),并转入步骤(6);

(2)判断所述邻域中非极值点的个数是否大于2,如果是,则将所述邻域中所有非极值点作为参与运算像素,如果不是,则进入步骤(3);

(3)判断所述邻域中非极值点的个数是否为0,如果是,则增加像素(a,b)前两行和前两列中距离最近的四个像素作为参与运算像素,如果不是,则增加像素(a,b)前两行和前两列中距离最近的两个像素与所述邻域中的非极值点一起作为参与运算像素;

(4)采用以下公式对所有参与运算像素(x,y)计算相应权值: (式I)

式I中,(x,y)为参与运算像素,w(x,y)为(x,y)的权值,▽(x,y)为(x,y)与灰度均值之间的灰度差,d(x,y)为(x,y)与中心像素(a,b)之间的距离,fun为函数;

(5)采用以下公式计算像素(a,b)的输出灰度值,将所得值置入g(a,b): (式II)

式II中,Ω代表所有参与运算像素(x,y)的集合,w(x,y)为(x,y)的权值,f(x,y)为(x,y)的灰度值;

(6)结束像素(a,b)的滤波;

(7)重复上述过程,直到完成输入图像F中所有像素的滤波。

2.根据权利要求1所述的滤除图像椒盐噪声的方法,其特征在于:所述步骤(3)中,所述四个像素包括两个与所述像素(a,b)距离最近的像素,另外两个像素选自四个与所述像素(a,b)距离次近的像素中相邻的两个像素。

说明书 :

一种滤除图像椒盐噪声的方法

技术领域

[0001] 本发明涉及一种滤除图像噪声的方法,尤其涉及一种滤除图像椒盐噪声的方法。

背景技术

[0002] 图像成像过程中的短暂停留通常会引入椒盐噪声。噪声的存在将严重干扰人类的视觉感知,并影响图像的后续处理。因此在涉及图像的应用中,对椒盐噪声的处理是一个重要的环节。现在已有多种针对椒盐噪声的滤除算法,如标准中值滤波,自适应中值滤波,开关中值滤波,加权中值滤波,自适应模糊转换滤波,大范围相关滤波,基于统计信息的滤波,等等。这些算法通过对含噪图像中的像素采用某种策略计算输出值,从而一定程度恢复被污染的像素点,使得噪声得以抑制,滤波图像更接近于原始图像。通常在噪声密度不太大时,这些算法都表现出较好的性能。
[0003] 随着图像中噪声增多,上述传统算法性能将普遍下降,结果图像由于各种各样的缺陷而不能令人满意。
[0004] 导致传统算法性能下降的原因有多方面,其中最关键的是在计算滤波输出值的方式上。采用的策略不合理,将使得输出值与滤波像素点的真实值有较大的偏差,从而不能很好地恢复图像。虽然上述很多算法都作了种种改进,但离这方面的要求仍然还有一定的差距,在遇到误判的噪声点时,又会较严重地破坏图像的原始信息。此外,对污染像素的判断准则也是一个重要的因素,判断失误必然会破坏图像的原始信息。
[0005] 在对参与运算的像素选取上,传统技术通常采用较小的邻域,如3×3邻域,这在噪声密度不大时是一种理想的选择,但一旦噪声增多,小邻域中的有用像素减少,以此计算输出值将造成滤波性能急剧下降。为得到足够信息改善滤波效果,一些技术采用了扩展至大邻域或者迭代处理的方式。通过扩展滤波窗口即扩展邻域或者迭代处理可以改善滤波效果,但在扩展的窗口下处理,将有更多的像素参与运算,而如果采用迭代方式,则算法会反复执行多遍。这些都会导致算法计算量大大增加,需要更多的系统资源和更长的处理时间,从而不能快速响应用户的需求。
[0006] 所以,上述传统技术不能适应对实时性要求较高的场合,如在泥石流监测项目中,要求能够实时查看图像和视频,这样的算法就不能满足。

发明内容

[0007] 本发明的目的就在于为了解决上述问题而提供一种滤除图像椒盐噪声的方法,这种方法通过采用加权均值的计算方式,使输出值尽可能地逼近中心像素的真实值,获得良好的滤波图像。
[0008] 为了达到上述目的,本发明采用了以下技术方案:
[0009] 本发明包括以下步骤:
[0010] (1)判断输入图像F的像素(a,b)是否为噪声点:以像素(a,b)为中心,取3×3邻域,判断像素(a,b)的输入灰度值f(a,b)是否为邻域极值,如果是,则判断像素(a,b)是噪声点并进入步骤(2),如果不是,则判断像素(a,b)不是噪声点并输出f(a,b)到输出灰度值g(a,b),并转入步骤(6);
[0011] (2)判断所述邻域中非极值点的个数是否大于2,如果是,则将所述邻域中所有非极值点作为参与运算像素,如果不是,则进入步骤(3);
[0012] (3)判断所述邻域中非极值点的个数是否为0,如果是,则增加像素(a,b)前两行和前两列中距离最近的四个像素作为参与运算像素,如果不是,则增加像素(a,b)前两行和前两列中距离最近的两个像素与所述邻域中的非极值点一起作为参与运算像素;
[0013] (4)对所有参与运算像素(x,y)计算相应权值;
[0014] (5)计算像素(a,b)的输出灰度值,将所得值置入g(a,b);
[0015] (6)结束像素(a,b)的滤波;
[0016] (7)重复上述过程,直到完成输入图像F中所有像素的滤波。
[0017] 本发明取3×3邻域为初始邻域,并采取动态增加已滤波像素参与运算的策略。在噪声密度不大时,利用3×3初始邻域的像素信息已足够;而在噪声增多时,初始邻域中非极值点数减少,减少到一定程度,则可用信息已不够,不能实现较好的滤波,这时动态地增加先前已滤波的两个像素参与运算;当初始邻域中非极值点数减少到零时,则完全摒弃该邻域像素,转而选取先前已滤波的四个像素计算输出值。由于增加的是先前已滤波的像素,这些像素值对将滤波的中心像素具有较大的参考价值,而由于图像逐行逐列处理的特点,这样的像素总是存在的,所以在保证滤波输出可靠性的前提下,不会无限增加像素。这种自适应选取像素的方案,在各种噪声密度下,参与运算像素的总量大体相当,从而实现了算法的复杂度不变,处理时间不会延长。
[0018] 作为优选,所述步骤(3)中,所述四个像素包括两个与所述像素(a,b)距离最近的像素,另外两个像素选自四个与所述像素(a,b)距离次近的像素中相邻的两个像素。
[0019] 所述步骤(4)中,计算相应权值采用以下公式:
[0020] (式I)
[0021] 式I中,(x,y)为参与运算像素,w(x,y)为(x,y)的权值, 为(x,y)与灰度均值之间的灰度差,d(x,y)为(x,y)与中心像素(a,b)之间的距离,fun为函数。
[0022] 所述步骤(5)中,计算像素(a,b)的输出灰度值采用以下公式:
[0023] (式II)
[0024] 式II中,Ω代表所有参与运算像素(x,y)的集合,w(x,y)为(x,y)的权值,f(x,y)为(x,y)的灰度值。
[0025] 上述式I和式II的计算方案,利用了自然图像的相关特性,以邻域中非极值点的灰度均值作为度量标准,灰度均值能够很大程度代表中心像素的真实值,将参与运算像素与度量标准之间的灰度差作为自变量设置像素的权值,权值随灰度差单调递减变化。灰度差越小,说明该像素越能代表中心像素真实值,于是权值越大,从而强化该像素对滤波输出值的贡献,反之,则权值小,以弱化其作用。通过各像素权值的设置,将使得输出值尽可能地逼近中心像素的真实值,从而获得良好的滤波图像。在误判噪声点的情况下,由于利用了邻域非极值点的灰度均值作为基准,所以不可能很大程度地破坏图像的原始信息,达到了较好地保护图像细节的目的。通过区分参与运算像素与中心像素之间的距离,将该距离也作为一个自变量影响权值的设置。距离越近,说明该像素参考价值越大,于是权值也较大,从而较大地影响输出值,否则权值较小以弱化其影响。
[0026] 本发明的有益效果在于:
[0027] 本发明综合考虑参与运算像素的灰度差与距离两方面因素,通过设计合理的单调函数计算权值,再通过采用加权均值的计算方式计算得到中心像素的输出值,使输出值尽可能地逼近中心像素的真实值,获得良好的滤波图像。在误判噪声点的情况下,由于利用了邻域非极值点的灰度均值作为基准,所以不可能很大程度地破坏图像的原始信息,达到了较好地保护图像细节的目的。另外,本发明通过动态增加已滤波像素参与运算的策略,形成自适应选取参与运算像素,在各种噪声密度下,参与运算像素的总量大体相当,从而实现了算法的复杂度不变,处理时间不会延长,能够满足对实时性要求较高的场合,如应用于泥石流监测项目中。

附图说明

[0028] 图1是本发明的流程图;
[0029] 图2是本发明所述中心像素及其初始邻域的平面示意图;
[0030] 图3是本发明所述中心像素及其扩展邻域的平面示意图之一;
[0031] 图4是本发明所述中心像素及其扩展邻域的平面示意图之二。

具体实施方式

[0032] 下面结合附图对本发明作进一步具体描述:
[0033] 如图1所示,本发明包括以下步骤:
[0034] (1)判断输入图像F的像素(a,b)是否为噪声点:如图2所示,以像素(a,b)为中心,取3×3邻域,判断像素(a,b)的输入灰度值f(a,b)是否为邻域极值,如果是,则判断像素(a,b)是噪声点并进入步骤(2),如果不是,则判断像素(a,b)不是噪声点并输出f(a,b)到输出灰度值g(a,b),并转入步骤(6)。
[0035] (2)判断该邻域中非极值点的个数是否大于2,如果是,则将该邻域中所有非极值点作为参与运算像素,如果不是,则进入步骤(3)。
[0036] (3)如图3和图4所示,判断该邻域中非极值点的个数是否为0,如果是,则增加像素(a,b)前两行和前两列中距离最近的四个像素(图4中黑色像素)作为参与运算像素,如果不是,则增加像素(a,b)前两行和前两列中距离最近的两个像素(图3中黑色像素)与该邻域中的非极值点一起作为参与运算像素;所述“增加(a,b)前两行和前两列中距离最近的四个像素作为参与运算像素”中的四个像素包括两个与像素(a,b)距离最近的像素,另外两个像素选自四个与像素(a,b)距离次近的像素中相邻的两个像素。
[0037] (4)对所有参与运算像素(x,y)计算相应权值;计算相应权值采用以下公式:
[0038] (式I)
[0039] 式I中,(x,y)为参与运算像素,w(x,y)为(x,y)的权值, 为(x,y)与灰度均值之间的灰度差,d(x,y)为(x,y)与中心像素(a,b)之间的距离,fun为函数。这里加入fun这个中间式,是因为后式的具体函数并不是唯一的,在最佳函数的研究中,可能会有较多变化,本发明强调的是w(x,y)的计算基于 和d(x,y)这两大要素;而后式中的具体函数则是本申请人经过研究所得到的最佳函数,说明(x,y)的权值计算是合理的。
[0040] (5)计算像素(a,b)的输出灰度值,将所得值置入g(a,b);计算像素(a,b)的输出灰度值采用以下公式:
[0041] (式II)
[0042] 式II中,Ω代表所有参与运算像素(x,y)的集合,w(x,y)为(x,y)的权值,f(x,y)为(x,y)的灰度值。
[0043] (6)结束像素(a,b)的滤波;
[0044] (7)重复上述过程,直到完成输入图像F中所有像素的滤波。
[0045] 结合图1-图4,本发明取3×3邻域为初始邻域,并采取动态增加已滤波像素参与运算的策略。在噪声密度不大时,利用3×3初始邻域的像素信息已足够;而在噪声增多时,初始邻域中非极值点数减少,减少到一定程度,则可用信息已不够,不能实现较好的滤波,这时动态地增加先前已滤波的两个像素参与运算;当初始邻域中非极值点数减少到零时,则完全摒弃该邻域像素,转而选取先前已滤波的四个像素计算输出值。由于增加的是先前已滤波的像素,这些像素值对将滤波的中心像素具有较大的参考价值,而由于图像逐行逐列处理的特点,这样的像素总是存在的,所以在保证滤波输出可靠性的前提下,不会无限增加像素。这种自适应选取像素的方案,在各种噪声密度下,参与运算像素的总量大体相当,从而实现了算法的复杂度不变,处理时间不会延长。
[0046] 上述式I和式II的计算方案,利用了自然图像的相关特性,以邻域中非极值点的灰度均值作为度量标准,灰度均值能够很大程度代表中心像素的真实值,将参与运算像素与度量标准之间的灰度差作为自变量设置像素的权值,权值随灰度差单调递减变化。灰度差越小,说明该像素越能代表中心像素真实值,于是权值越大,从而强化该像素对滤波输出值的贡献,反之,则权值小,以弱化其作用。通过各像素权值的设置,将使得输出值尽可能地逼近中心像素的真实值,从而获得良好的滤波图像。在误判噪声点的情况下,由于利用了邻域非极值点的灰度均值作为基准,所以不可能很大程度地破坏图像的原始信息,达到了较好地保护图像细节的目的。通过区分参与运算像素与中心像素之间的距离,将该距离也作为一个自变量影响权值的设置。距离越近,说明该像素参考价值越大,于是权值也较大,从而较大地影响输出值,否则权值较小以弱化其影响。