206 数字图像处理(第三版) 最大值和最小值滤波器 尽管中值滤波器是目前为止图像处理中最常用的一种统计排序滤波器、但它绝不是唯一的一种 中值相当于顺序排列的数组中间的那个数,但是您会从基本的统计学 回想到排列本身还有很多其他的可能性。例如,可以使用序列中的最 后一个数值,称为最大值滤波器,由下式给出: fx)=m{8s.} 5.3-8 这种滤波器对于发现图像中的最亮点非常有用。同样,因为胡椒噪声的值非常低、作为子图像区域5 中这种最大值选择过程的结果,可以用这种滤波器降低它。 选择起始值的滤波器称为最小值滤波器,它由下式给出: f(x.y)=min [g(s. (5.39 这种滤波器对于发现图像中的最暗点非常有用。同样,作为最小值操作的结果,它可以降低盐粒噪声 中点滤波器 中点滤波器简单地计算滤波器包围区域中最大值和最小值之间的中点,即 fxw=m{es+m盟.s, (5.3-10 注意,这种滤波器结合了统计排序和吠平均。它对于随机分布噪声工作得最好如高斯噪声或均匀噪声 修正的阿尔法均值滤波器 假设在邻域S,内去掉g,)最低灰度值的d2和最高灰度值的d2。令g,s,)代表剩下的mm-d个 像素。由这些剩余像素的平均值形成的滤波器称为修正的阿尔法均值滤波器: fxnm-a8, (5.311 其中,d的取值范围可为0到mm一1。当d=0时,修正的阿尔法均值滤波器退化为前一节讨论的算术 均值滤波器。如果选择d=m一1,则修正的阿尔法均值滤波器将退化为中值滤波器。当d取其他值时 修正的可尔法均值滤波器在包括多种噪声的情祝下很有用,例如高斯噪声和椒盐噪声混合的情况下。 例5.3统计排序滤波器的说明 5.10(a显 了将率为 P。=P=0.1的椒盐噪声污染的电路板图像。图5.106)显示了用大小为3× 的中值滤波器滤波的结果。对图5.10(①的政进是显而易见的,但一些噪声点仍然可见。使用中值滤波器 【对图5.10(6)中的图像]进行第二次滤波处理后,去掉了大部分这样的噪声点,仅剩下非常少的可见噪 声点。这些噪声点在经过第三次中值滤波处理后全部消除了。这些结果是说明中值滤波器处理脉冲型加 性噪声能力的很好的例子。记住,使用中值滤波器对图像重复地进行处理会使图像变模糊,所以希望保 持尽可能低的处理次数 图5.11(a)显示了把最大值滤波器用于图5.8(a)所示“胡椒”噪声图像的结果。这种滤波器对除去图 像中的“胡椒”噪声的确很合适,但我们注意到它同时也从黑色物体的边缘去除了一些黑色像素(即将这 些像素设置为亮灰度级)。图5.11(6)显示了把最小值滤波器用于图5.86)的结果。在这种情况下,在噪古 消除方面,最小值滤波器的确比最大值滤波器更好,但它同时也,从明亮物体的边缘去除了一些白色像素 件被使突物体聚小。同使暗物体变大狱像像顶霜的连接片环用,肉为院这些物体的白
第5章图像复原与重建 207 bee3H出H出HH出 图5.10(a)被概率为P=P=0.1的椒盐噪声污染的图像:(b)使用大小为3x3的中值滤波器对图像法波 次后的结果:(使用该滤波器对图b)滤波后的结果:()使用相同的滤波器处理图()后的结果 ab H 图5.11(0使用大小为3x3的最大值滤波器对图5.8a滤波后的结果, 6)使用相同大小的最小值滤波器对图5.8(6)滤波后的结果 下面说明修正的阿尔法均值滤波器。图5.12(a)显示了一辐被均值为零、方差为80的加性均匀噪 污染的图像。这是一种高级别的噪声污染,它被P=P,=0.1的椒盐噪声叠加而进一步劣化了,如图5.12(6) 所示。对这幅图像中的高级别噪声使用更大的滤波器是正确的。图5.12(c)到图5.12(0依次显示了使用大 小为55的算术均值、几何均值、中值和d=5的修正的阿尔法均值滤波器处理后的图像。正如所预料的 那样,由于脉冲噪声的存在,算术均值滤波器和几何均值滤波器(尤其是后者)并没有起到良好的作用。 中值滤波器和修正的阿尔法均值滤波器则好得多,在降噪方面修正的阿尔法均值滤波器的效果更好一些 例如,注意图像左上角第4个连接片在修正的阿尔法均值滤波器处理后变得稍微平滑一些。这并不意外 因为对于高的值,修正的阿尔法均值滤波器接近于中值滤波器的性能,但仍然保留了一些平滑能力。 H出想出:: 图5.12(①)被加性均匀噪声污染的图像:)再被加性椒盐噪声污染的图像:(⊙)使用大 为5×5的算术均值滤波器对图()滤波后的结果:(①使用大小为5×5的几何丝 值滤波器网图(b)滤波后的结米()使用大小为5×5的中值滤波器对图b)滤波后的 结果:(0使用大小为5×5且d=5的修正的阿尔法的值滤波器对图6)法波后的结果
208 数字图像处理(第三版) 5.3.3自适应滤波器 迄今为止讨论过的用于图像处理的滤波器并没有考虑图像中的一点对于其他点的特征变化。在 这一节中,我们将考虑两个简单的自适应滤波器,滤波器的特性变化是以m×n的矩形窗口S,定义 的滤波器区域内图像的统计特性为基础的。正如下面的讨论所表明的那样,自适应滤波器的性能要优 于迄今为止讨论过的所有滤波器的性能。改善滤波能力的代价是滤波器的复杂度提高了。记住,我们 一直在处理这样的情况,即退化图像等于原始图像加噪声。还没有考虑其他类型的退化 自适应局部降低噪声滤波器 随机变量最简单的统计度量是其均值和方差。作为白适应滤波器的基础这些是合理的参数,因 为它们是与图像表观紧密相关的量。均值给出了在其上计算均值的区域中的平均灰度的度量,面方差 则给出了该区域的对比度的度量 滤波器作用于局部区域S。滤波器在该区域中心任意一点红)上的响应基于以下4个量:(@gx,以, 带噪图像在点x)上的值:(6)σ,污染fx)以形成gk,)的噪声的方差:(@)m,S,中像素的局 部均值:(o,S.中像素的局部方差。我们希望滤波器的性能如下 1.如果σ2为零,则滤波器应该简单地返回g红)的值。这无关紧要,在零噪声情况下8(x,) 等于fxy 2.如果局部方差与σ是高度相关的,则滤波器返回gxy)的一个近似值。典型地,高局部方差 与边缘相关,并且应该保护这些边缘 3.如果两个方差相等,我们则希望滤波器返回5,中像素的算术均值。这种情况发生在局部区域 与整个图像有相同特性的条件下,并且局部噪声将通过简单地求平均来降低。 基于这些假设得到的子(x,y)的自适应表达式可以写成 f=g-gk.功-m (5.312) 唯一需要知道或估计的量是全部噪声的方差σ子。其他参数要从每个(x,y)处的S。中的像素来计 算,(化,)是滤波器窗口的中心。式(5.3-12)中隐含的假设为o弓≤σ2。模型中的噪声是加性的和位置 独立的,因此这是一个合理的假设,因为S是红y的子集。然而,我们很少有σ乙的确切知识.因 此在实际中很可能违反这个条件。由于这个原因,式(5.312)的实现应建立一个测试,以便当条件 σ>σ发生时,把比率设置为1。这就造成该滤波器的非线性。然而,它可以防止由于缺乏图像噪 声方差的知识而产生的无意义结果(即负灰度级,取决于m,的值)。另一种方法是允许出现负值,并 在最后重新标定灰度值。因而,结果将损失图像的动态范围。 重的图像,但是,它却成为了一个比较相应滤波器性能的理想的测试基础。图5.13(6)是使用大小为7×7 的算术均值滤波器处理噪声图像后的结果。噪声被平滑掉了,但代价是图像被严重模糊了。类似的解释 也可用于图5.13(©,它湿示了使用大小还是7×7的几何均值滤波器处理噪声图像后的结果。这两幅滤波 35网 后的图像间的区别与我们在例5.2中讨论过的类似,仅仅是模糊程度的不同。 图5.13()显示了使用式(53-12)且=1000的自适应滤波的结果。与前两个滤波器相比.该结果的
第5章国像复原与重建 209 改讲是很大的。从总体噪声减少情况来看,自活应滤波器所达到的效果与算术和几何均值被波器相似 然而,使用自适应滤波器滤波后的图像更清晰一些。例如,在图5.13(仙)中图像顶部的连接片更为清晰。 其他特性,如孔和图像左下方暗部件的8根引脚等,在图5.13()中更加清楚。这些结果是使用自适应滤 波器所能达到的典型结果。正如在早些时候提到过的那样,改进性能的代价是增加了滤波器的复杂性 上面的结果中对σ用了一个值,该值准确地与噪声方差匹配。若该值未知,且使用了太低的估计值: 则算法会因为校正量比应有的小而返回与原图像非常接近的图像。估计值太高则会造成方差的比率在1.0 处被削平,并且算法会比正常情形下更频繁地从图像中减去平均值。如果允许为负值,且图像在最后被 重新标定,则如前所述,结果将相失动态范围 图5.13(a)被均值为零、方差为100的加性高斯噪声污染的图像:(6)算术均值滤波的结果 (c)几何均值滤波的结果;(自适应降噪滤波的结果。所有滤波器的大小均为7×7 自适应中值滤波器 对于5.3.2节所讨论的中值滤波器,只要脉冲噪声的空间密度不大,性能就会很好(根据经验.P。 和P。小于02)。本节将证明.自适应中值滤波可以处理具有更大概率的脉冲噪声。自适应中值滤波 器的另一个优点是平滑非脉冲噪声时试图保留细节,这是传统中值滤波器所做不到的。正如在前面几 节中讨论的所有滤波器一样,自适应中值滤波器也工作于矩形窗口区域S,内。然而,与这些滤波器 不同的是自适应中值滤波器在进行滤波处理时会根据本节列举的某些条件而改变(或增大)S,的尺 寸。记住,滤波器的输出是一个单值,该值用于代替点化)处的像素值,点化,)是给定时刻窗口S 的中心。 考虑如下符号: 乙。=S.中的最小灰度值 =Sn中的最大灰度值 2。=S,中的灰度值的中值 。=坐标x)处的灰度值 S=S允许的最大尺寸 自适应中值滤波算法以两个进程工作,表示为进程A和进程B.如下所示: 进程A: A1=乙2 A2=d-2 如果A,>0且A2<0,则转到进程B 否则增大窗口尺寸 如果窗口尺寸≤S,则重复进程A 否则输出d 图
210 敏字图像处理(第三版) 进程B: B,=乙wm B,=2w2 如果B,>0且B2<0,则输出 否则输出 理解该算法机理的关键在于,要记住它有3个主要目的:去除椒盐(脉冲)噪声,平滑其他非脉 冲噪声,并减少诸如物体边界细化或粗化等失真。值z和:在算法统计上认为是类脉冲噪声分量。 即使它们在图像中并不是最低和最高的可能像素值。 利用这些观察结果,我们看到进程A的目的是确定中值滤波器的输出是否是一个脉冲(黑 或白)。如果条件<<乏有效,则根据前节提到的原因,乏不可能是脉冲。在这种情况下,我 们转到进程B进行测试,看窗口乙,的中心点本身是否是一个脉冲(回忆可知,是正被处理的点)。若 条件B,>0“与”(AND)B,<0为真,则z<<:,2n就不是脉冲,原因与z不是脉冲相同。在 这种情况下,算法输出一个不变的像素值z。通过不改变这些“中间灰度级”的点,减少图像中的 失真。如果条件B,>0“与”(AND)B,<0为假,则乙,=2m或乙w2。在任何一种情祝下,像素值 都是一个极端值,且算法输出中值,从进程A可知乙不是噪声脉冲。最后一步是执行标准的中 值滤波。问题是,标准中值滤波器使用图像中相应邻域的中值代替该图像中的每一点,这会引起不必 要的细节损失 继续上面的说明,假设进程A确实找到了一个脉冲(若失败则测试会将它转到进程B)。然后,算法 会增大窗口尺寸并重复进程A。该循环会一直继续,直到算法找到一个非脉冲的中值(并跳转到进程B) 或者达到了窗口的最大尺寸。如果达到了窗口的最大尺寸,则算法返回:值。注意,不能保证该值不 是一个脉冲。噪声的概率P。和/或P,越小,或者S在允许的范围内越大,过早退出条件发生的可能性 就会越小。这似乎是合理的。随着脉冲密度的增大,我们会需要更大的窗口来消除尖峰噪声 算法每输出一个值,窗口S,就被移到图像中的下一个位置。然后,算法重新初始化并应用到新 位置的像素。如习题3.18指出的那样,仅使用新像素就可以反复更新中值,因而减少了计算开销 例5.5自适应中值滤波的说明。 图5.14()显示了被概率为P=P=025的“椒盐”噪声污染的电路板图像.该噪声的概率为图5.10(a) 中所用噪声概率的25倍。此处噪声水平非常高,以至于模糊了图像的大部分细节。作为比较的基础。图 像首先使用最小中值滤波器进行滤波,消除大部分可见的脉冲噪声痕迹。做这种处理需要一个大小为7× 的中值滤波器。并且处理结果显示在图5.146)中。虽然噪声被有效地消除了,但该滤波明显导致了图像细 节的损失。例如,图像顶部的一些连接片出现了失真或裂。其他的图像细节也同样失真了 a b c 图5.14(被概率P,=P,=025的椒盐噪声污染的图像:()使用大小为7×7的中值滤波器 的对图像滤波的结果;(⊙使用了=7的自适应中值滤波器对图像滤波的结 图5.14(c)显示了使用S=7的自适应中值滤波器的结果。噪声消除性能与中值滤波器相似。但是, ☒自适应滤波器在保持清嘴度和细节方面的确做得要好。连接片几乎没有失真,使用中值滤波器时被模脚