第9章形态学图像处理 形体与特征,面客与肢体,我与兄弟如此相像,以至于人们经常 把我当做他,总是把我们的身份搞混 一享利·桑布鲁克·利,《科克伊尼之颂:双胞胎》 引言 形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构。这 里,我们使用同一词语表示数学形态学的内容,将数学形态学作为工具从图像中提取表达和描绘区域 形状的有用图像分量,如边界、骨架和凸壳等。我们对预处理或后处理的形态学技术也感兴趣,比如 形态学过滤、细化和修剪等。 在下面几节中,我们将建立并说明数学形态学中的几个重要概念。这里介绍的许多概念可在 维欧氏空间E”中用公式表达,然而,我们的兴趣一开始是在二值图像上,这种图像的各个分量是Z 的元素(见2.4.2节)。在9.6节,我们的讨论将扩展到灰度图像。 本章的材料开始从纯粹的输入和输出都是图像的图像处理,转变为输入是图像而输出是从这些 图像中提取属性的处理,在这个意义上1.1节做了定义。像形态学及与其相关概念这样的工具数学基 础的基石,它用来于从图像中提取“内涵”。本书的余下章节中将探讨和应用其他方法。 9.1预备知识 数学形态学的语言是集合论。同样,形态学为大量的图像处理问 题提供一种一致且有力的方法。数学形态学中的集合表示图像中的对 在继续阅读之前.请读者问瓯 下2.4.2节和26.4节的内容 象。例如,在二值图像中,所有白色像素的集合是该图像的一个完整 的形态学描述。在二值图像中,问题中的集合是二维整数空间2的元素(见2.4.2节),在该空间中, 集合的每个元素都是一个多元组(仁维向量),这些多元组的坐标是图像中一个白色(或黑色,取决于 事先的约定)像素的坐标x,)。前一章讨论过的灰度数字图像可以表示为其分量在空间2中的集合 在在这种情况下,集合中每个元素的两个分量提供一个像素的坐标,第三个分量则对应于其离散灰度 值。更高维度空间中的集合可以包含其他的图像属性,譬如颜色和随时间变化的分量 除2.6.4节中基本的集合定义外,集合的反射和平移的概念在形 集合反射操作类似于李间卷积叶执 用得也很广泛。一个集合B的反射表示为B 行的()樱作(见342节
第9章形态学图像处理 403 B={wlw=-b,b∈B 9.1-1 如果B是描述图像中物体的像素的集合(二维点),则B是B中:)坐标被(-x-)替代的点的集合。 图9.1(a)和(6)显示了一个简单的集合及其反射 a b c B 图9.1(@一个集合:(6)该集合的反射:(⊙)距离为z的平移 集合B按照点z=(,)表示为(B),的平移定义如下 (B),=clc=b+z.be B} (9.1-2) 如果B是描述图像中物体的像素集合,则(B),是B中(化y)坐标被(x+,y+)替代的点的集合。 图9.1(c)使用来自图9.1(a)的集合B说明了这一概念 在形态学中集合的反射和平移广泛用来表达基于结构元(SE)的操作:研究一幅图像中感兴趣特 性所用的小集合或子图像。图9.2的第一行显示了结构元的几个例子,其中每一个涂阴影的方块表示 SE的一个成员。如果给定结构元中的一个位置是否是该SE集合的成员没有关系时,该位置用“×, 来标记,表示一个“不关心”条件,如稍后在9.5.4节中定义的那样。除了元素是SE的成员的定 义之外,还必须指定结构元的原点。图9.2中各种SE的原点 由一个黑点指出(尽管将SE的中心放在其重心处是很普进 的.但通常原点的选择是依赖于问题的)。当SE对称且未显 示原点时,则假定原点位于对称中心处 当对图像操作时,我们要求结构元是矩形阵列。这是通 过添加最小可能数量的背景元素(图9.2中所示的非阴影部分) 形成一个矩形阵列来实现的。图9.2第二行中的第一个和最后 一个SE说明了该过程。该行中的其他SE已经是矩形形式。 p 为介绍在形态学中如何使用结构元,我们考虑图9.3 图9.3(a)和(b)显示了一个简单的集合和一个结构元。如前 段提到的那样,计算机实现要求用添加背景元素的方法把A 图92第一行:结构元的例子:第二 也转换为一个矩形阵列。当结构元的原点位于原始集合的边 行:转换为矩形阵列的结构 界上时,背绿边界要大到足以适应整个结构元(这类似于如 元。点表示结构元的中心 ①当对图像燥作时,如图91中的集合。我使用阴影来表示正考虑集合的成员的点(像素),在处理二值图像时。感兴的集合可 为体物定文饮堡白色像素来是示这集合。而其他像东则品示为色术语精茶和?素通布分别用于表示图 651
404 数字困像处理(第三版) 3.42节讨论的空间相关和卷积的填充操作)。在这种情况下,结构元 的大小为3x3,原点位于中心,所以包围整个集合的一个元素的边界 在后面的说明中,我们会添加足够 是足够的,如图9.3()所示。就像在图9.2中那样,必须使用最小可能 的背景点来形成矩形所列,但在含 化图形。我 数量的背景元素填充结构元,使它成为-一个矩形阵列【见图9.3(】 图9.3(a)一个集合(每个阴影方块都是集合的一个元素):(b)结构元:(⊙)使用背景元素填充集合形成的 个矩形阵列,并且提供了一个背景边界:()矩形阵列形式的结构元:(©)由结构元处理过的集合 假定我们定义一个用结构元B在集合A上的操作如下:通过让B在A上运行,以便B的原点访 问A的每一个元素,来创建一个新集合。在B的每个原点位置,如果B完全被A包含,则将该 位置标记为新集合的一个成员(阴影所示):否则,将该位置标记为非新集合的成员(非阴影所示)。 图9.3()显示了这一操作的结果。我们看到,当B的原点位于A的边界元素上时,B的一部分将不再 包含在A中,从而排除了B处在中心位置的点作为新集合的成员的可能。最终结果是集合的边界被 腐蚀掉了,如图9.3(©)所示。当我们使用“结构元包含在集合中”这样的术语时,我们明确地指出A 和B的元素完全重叠。换句话说。虽然我们用包含阴影和非阴影的元素阵列来说明A和B,但在确 定B是否包含于A中时,我们只考虑两个集合中的阴影元素。这此概念是下一节内容的基础,因此 在继续学习之前全面理解图9.3中的概念是很重要的。 9.2腐蚀和膨胀 我们通过研究腐蚀和膨胀这两个操作来开始形态学的讨论。这些操作是形态学处理的基础。事 实上,本章中讨论的许多形态学算法都是以这两种原始操作为基础的。 9.2.1腐蚀 作为Z2中的集合A和B.表示为A⊙B的B对A的腐蚀义为 AeB={z1(B),sA}(9.2-1) 表面上,该式指出B对A的腐蚀是一个用z平移的B包含在A中的所有的点z的集合。在下面的讨 论中,假定集合B是一个结构元。式(9.21)是上节末尾讨论的图9.3(©)中的例子的数学公式。因为B 必须包含在A中这一陈述等价于B不与青景共享任何公共元素,故我们可以将腐蚀表达为如下的等 价形式: AeB={zI(B),nA=☑ (9.2-2) 中,如264节所淀义的那样,心是A的补集
第9章形态学图像处理 405 图9.4显示了腐蚀的一个例子。A和B的元素显示为阴影,背景显示为白色。图9.4(心)中的实线 边界是B的原点进一步移动的界限,若超出该界限,则会导致结构元不再完全包含于A中。这样 该边界内的点的轨迹(B的原点位置)就构成了B对A的腐蚀。我们在图94(©)中使用阴影显示了该腐 蚀的结果。记住,腐蚀是简单地满足式(92-1)或式(9.2-2)的z值的一个集合。图9.4(@和()中嘘线 所示的集合A的边界仅供参考,它不是腐蚀操作的一部分。图9.4(d)显示了·个拉长的结构元,图9.4( 显示了该结构元对集合A的腐蚀。注意,原来的集合已被腐蚀为一条直线。 d8 3d4d8 b -sdjA d/8 d/8 图9.4(a集合A:(6)方形结构元B:(c)B对A的腐蚀,如阴影部分所示:()拉长的结构元: (e)用拉长后的结料元B对A的腐蚀。(@)和(©中的线边界是集合A的边界,仅供参考显示 式(92-1)和式(9.2-2)不是腐蚀的唯一定义形式(见习题9.9和习题9.10中另外两种等价的定义形 式)。然而,这些式子较之其他公式具有独特的优点,当把结构元B看成是一个空间模板时(见3.4.1 节),它们更直观。 刷9.1使用魔仲去除图传的某些分 假设我们希望去掉图95(®)中连接中心区城到边界焊接点的线。使用一个大小为1x11且元素都是】 的方形结构元魔蚀该图像,如图9.5(化)所示。大多数为1的线条都被去除了。位于中心的两条垂直线被细 化了但没有被完全夫除。原因是它们的窗度大干11个俊素。把SE的大小改为15x15.并再次馆蚀 图像,如图9.5()所示,所有的连线都去除了[一种替代的方法是,也可以使用11×11的SE对图9.5o) 的图像再进行腐蚀]。增大结构元的尺寸甚至会消除更大的部件:例如,使用大小为45×45的结构元.可 去除边界的焊接点,如图9.5(d所示 图9.5使用腐蚀去除像中的部件:(®)一幅大小为486x486的连线模板二值图像:(6)一 (d分别使用大小为11x11,15x15和45x45的结构元腐的图像。SE的元素都是1
406 数字图像处理(第三版) 我们从这个例子看到,腐蚀缩小或细化了二值图像中的物体。事实上,我们可以将腐蚀看成是形态 学滤波操作,这种操作将小于结构元的图像细节从图像中滤除(去除)了。在图95中,腐蚀执行了一个“线 滤波”的功能。我们在93节和9.6.3节将会返回到形态学滤波这一概念。 9.2.2膨胀 A和B是Z中的集合,表示为A⊕B的B对A的膨胀定义为 A⊕B={21(B),nA≠⑦ (9.2-3) 这个公式是以B关于它的原点的映像,并且以z对映像进行平移为基础的(见图9.1)。B对A的膨张 是所有位移:的集合,这样,B和A至少有一个元素是重叠的。根据这种解释,式(9.23)可以等价 地写为 A⊕B={z(B,nA1A (9.2-4 与以前一样,我们假定B是一个结构元,A是被膨张的集合(图像物体)。 式(9.2-3)和式(9.2-4)并不是当前所用的膨胀的唯一定义(见习题9.11和习题9.12中两种不同但等 价的定义)。然而,当把结构元B视为一个卷积模板附,前述定义与其他定义形式相比有显著的优 点,这种定义形式更直观。B关于其原点翻转(旋转),然后逐步移动以滑过整个集合(图像)A.这 基本过程类似于3.4.2节中介绍的空间卷积。然而,要记住,膨胀以集合操作为基础,因此是 种非线性操作,而卷积是一种线性操作。 与腐蚀不同,腐蚀是一种收缩或细化操作,膨胀则会“增长”或“相化”二值图像中的物体 这种特殊的方式和粗化的宽度由所用的结构元来控制。图9.6(a)显示了与图9.4中所用集合相同的 合,图9.6(b)显示了一个结构元(在这种情祝下,B=B,因为SE关于其原点对称)。作为参考,图9.6() 中的虚线显示了原始集合,实线显示了一个界限.B的原点进一步移动:,若超出了这一界限,会导致 B和A的交集为空。因此,处在该边界上或该边界内的所有点就构成了B对A的膨胀。图9.6()显 示了一个设计用来实现垂直方向膨胀比水平方向膨张更多的结构元,图9.6(©)则显示了使用这个结构 元讲行能胀的结果 a b c d e d/2 .d A由B d/s i=B d/8 d/8 d d/8 图96(a集合A:(b)方形结构元(黑点表示原点):(@)B对A的膨账,显示为阴影:(d拉长的结构元 (©)使用这个结构元对A膨账。图(©)和图()中的.点线的边是集合A的边界,仅作为参考而显示 例9.2德的说明 膨彭张的最简应用之一是桥接裂缝。图9.7(显示了与我们研究过的图4.49相同的带有断裂的字符的医 】像,在图4.49中是用低通滤波进行连接的。已知断裂的最大长度为两个像素。图9.76)显示了能够修复这 些断裂的结构元(注意,替代阴影,我们用1表示SE的元素,而用0表示背景:这是因为现在$E被当做
第9章形态学图像处理 407 一幅子图像来处理,而不是一幅图形)。图9.7()显示了使用这个结构元对原图像进行膨胀后的结果。裂 缝已被桥接。形态学方法较之我们在图4.49中用于桥接断裂的低通滤波方法的一个直接的优点,就是形 态学方法可在一幅二值图像中直接得到结果。另一方面,低通滤波方法则从一幅二值图像开始,生成 幅灰度图像,它需要用一个园值函数将灰度图像转换为二值图像。 a b c Historically.certain computer rams were written ere written usin our to define the appticable rn.the than th 2000. ea 图9.7(a)具有断裂字符的低分辨率样品文本(见放大的视图): (b)结构元:(⊙)图)对a的张。断裂线段被连起来了 9.2.3对偶性 膨胀和腐蚀彼此关于集合求补运算和反射运算是对偶的,即 (A9B)=A⊕B (9.25) 和 (A⊕B=AOB (92-60 式(9.25)指出.B对A的腐蚀是B对A的膨胀的补,反之亦然。当结构元关于其原点对称时(G通常 如此),因为B=B,故对偶性特别有用。这样,我们可以用相同的结构元简单地使用B膨胀图像的 背景(即膨胀A),并对该结果求补就可得到B对该幅图像的腐蚀。类似的说明适用于式(9.2-6)。 为了说明建立形态学表达式有效性的一种典型方法,我们正式证明式(925)的有效性。由腐蚀 的定义,我们有 (AOB)=(B).CA 如果集合(B),包含在集合A中,则(B),∩A=⑦,在这种情况下,上式变为 (AOB)=(B)nA=0 但是,满足(B).∩A=⑦的z的集合的补集是满足(B),∩A°≠⑦的z的集合,因此。 (AeB)={zI(B),nA≠O=A⊕B 其中,最后一步来自式(9.23)。这就结束了该证明。采用类似的推理可以证明式(9.2-6)(见习题9.13) 9.3开操作与闭操作 如您所见到的那样,膨胀会扩大一幅图像的组成部分,而腐蚀则会缩小一幅图像中的组成部分 在本节中,我们讨论另外两个重要的形态学操作:开操作与闭操作。开操作一般会平滑物体的轮廓、 断开较窄的狭颈并消除细的突出物。闭操作同样也会平滑轮廓的一部分,但与开操作相反,它通常会 弥合较窄的间断和细长的沟壑,消除小的孔洞,填补轮廓线中的断裂。 6
408 数字图像处理(第三版) 结构元B对集合A的开操作,表示为A。B,其定义如下: AB=(AOB)©B (9.3.1) 因此,B对A的开操作就是B对A的腐蚀,紧接着用B对结果进行膨张」 类似地,用结构元B对集合A的闭操作,表示为AB,定义如下: AB=(A⊕B)B (9.3-2 上式说明,B对集合A的闭操作就是简单地用B对A膨胀,紧接着用B对结果进行腐蚀 开操作有一个简单的几何解释(见图9.8)。假设我们把结构元B视为一个(扁平的“转球”。然 后,A。B的边界由B中的点建立:当B在A的边界内侧滚动时,B所能到达的A的边界的最远点。 开操作的这种几何拟合特性导致了一个集合论公式,该公式表明B对A的开操作是通过拟合到A的 B的所有平移的并集得到的。也就是说,开操作可以表示为一个拟合处理: AB=UH(B),I(B),∈A} (9.3-3 其中U表示大括号中所有集合的并集 A●B=U(B周(B,CA a b e d 在中的平移 ·)8 图9.8(a结构元B沿集合A的内侧边界滚动(黑点表示B的原点);(6)结构元:(©)粗线是开操 作的外部边界(完全的开操作(阴影部分)。为清楚起见,在图(中我们未对A加阴影 除了我们现在是在边界的外侧滚动B(见图9.9)之外,闭操作有类似的几何解释。如下面所讨论 的那样,开操作和闭操作彼此对偶,所以闭操作在边界外侧滚动球体是意料之中的事情。从几何上讲, 当且仅当对包含w的(B),进行的任何平移都有(B),∩A≠O时,点w才是AB的一个元素。图9.9说 明了闭操作这一基本的几何性质 a b c 图9.9()结构元B沿集合A的外侧边界滚动:(⑥)粗线是闭操作的外部边界 (C完全的闭操作(阴影部分)。为清楚起见.在图(a中我们末对A加阴影 例9.3形态学开操作和闭操作的简单说明 55网 图9.10进 步说明了开操作和闭操作。图9,.10(@显示了一个集合A,图9.106)显示了腐蚀处理期 65网间一个圆盘形结构元的各个位置。当腐蚀完成后,得到图9.10()所示的分离的图形。注意.两个主要部
第9章形态学图像处理 409 分之间的桥接的消失。桥接部分的宽度与结构元的直径相比要细:也就是说,集合的这部分不能完全包 含结构元,因此违反了式(⑨.21)的条件。该物体最右边的两个部分也是如此。圆盘无法拟合的突出部分 已被消除。图9.10()显示了对腐蚀后的集合进行膨胀的处理,图9.10(©)显示了开操作的最终结果。注 意,方向向外的角变圆了,而方向向内的角则未受影响。 类地。图9.10(0到()显示了使用同一结构元对A进行闭操作的结果。我们注意到方向向内的角 圆了,而方向向外的角则保持不变。在A的边界上,最左边的突人部分的尺寸明显地减小了,因为在这 个位置上圆盘无法拟合。还要注意使用圆盘形结构元对集合A进行开操作和闭操作所得到的物体的各个 部分都平滑了。 A马 A·B=A⊙B)⊕B A·B=ABB)©B 图9.10形态学开操作和闭操作。结构元是在图(6)中的各个位置显 示的小圆。为清楚起见,SE未加阴影。黑点是结构元的中心 如同膨张和腐蚀的情形那样,开操作和闭操作彼此关于集合求补和反射也是对偶的。即 (AB)=(A。B (9.3-4) (A。B°=(A.B) 93.5) 我们将该结果的证明作为练习留给读者(见习题9.14)。 开操作满足下列性质: (aA。B是A的一个子集(子图像)。 ()如果C是D的一个子集,则C。B是DB的一个子集 (C)(AB)。B=AB
410 数宇图像处理(第三版) 类似地,闭操作满足下列性质: (a)A是AB的一个子集(子图像) (b)如果C是D的一个子集,则CB是DB的-个子集。 (C(A-BB=A-B。 注意,由两种情况下的条件()可知,算子应用一次后,一个集合的多次开操作或闭操作没有影响 例9.4针对形态学滤波使用开操作和闭操作。 形态学操作可用于构造与第3章中讨论的空间滤波概念相类似的滤波器。图9.11(a中的二值图像显 示了被噪声污染的指纹图像的一部分。这里,噪声本身表现为在黑色背景上的随机亮元素和指纹较亮部 分上的暗元素。我们的目的是消除噪声及其对印刷的影响,同时使图像的失真尽可能小。由开操作后紧 跟着闭操作组成的形态学滤波器可用来实现这一目的。 e f AeB=A· A·B)⊙B台B=(A·B)·B 图9.11(a噪声图像;b)结构元:(c)腐蚀后的图像:(@A的开操作:(e)开操作 的膨胀:(们开操作的闭操作(原图由美国国家标准和技术研究所提供 图9.11(6)显示了所用的结构元。图9.11的余下部分显示了滤波操作一步步的顺序。图9.11()显示 了使用结构元对A进行腐蚀的结果。背景噪声在开操作的病蚀阶段被完全消除,因为这种情况下的所有 噪声分量都比结构元小。包含在指纹中的噪声元素(黑点)的尺寸实际上却增大了。原因是当物体被腐蚀 时,这些元素在尺寸增大的内部边界。这种增大可通过对图9.11()执行影胀来抵消。图911()显示了该 结果,指纹中包含的噪声分量的尺寸被减小了,或完全被消除了 刚才描述的两个操作构成了B对A的开操作。我们注意到,在图9.11()中,开操作的实际效果实质 网上是从背景和指纹本身中消除所有的噪声。然而,在指纹纹路间却产生了新的断裂。为防止这种不希望 6的影响,我们在开操作上执行膨胀,如图9,1()所示。大部分断裂被恢复了,但纹路却变粗了,这是可
第9章形态学图像处理 411 由腐蚀来弥补的一种情形。图9.11()所示的结果构成了图9.11()的开操作的闭操作。最后的结果是噪士 斑点清除得相当干净。但汶种方法有缺点。即有些指纹纹路没有被完全修复,并还有问断。对这种情况 也并非毫无指望,只是因为在保持连续性方面没插入任何的条件而已(我们将在例9,8中再次讨论这一问 题,并在11.1.7节中论证处理这一问题的方法)。 9.4击中或击不中变换 形态学击中或击不中变换是形状检测的一个基本工具。我们将借助于图9.12来说明这一概念 图9.12显示了一个由三种形状(子集)组成的集合A,三种形状分别由C,D和E表示。图9.12(a)到() 中的阴影部分表示原始集合,而图9.12(d)和()中的阴影乡部分显示形态学操作的结果。目的是找到三 种形状之一的位置,譬如说D的位置 令每种形状的原点位于其重心处。设D被一个小窗口W包围。关于W的D的局部背景定义为集 合差(W-D),如图9.12(6)所示。图9.12(⊙)显示了A的补集,后面将会用到它。图9.12(@)显示了用D 对A的腐蚀(虚线仅供参考)。回顾可知,D对A的腐蚀是D的原点位置的集合,这样,D完全包含在 A中。换一种方法解释,A©D在几何上可被看成是D的原点的所有位置的集合,在每个这样的位置 D找到A中的一个匹配(击中)。记住,在图9.12中,A仅由三个不相交的集合C,D和E组成。 A-CUDUE -(W-D 原点 A⊙D)n(A'白W-D小1 图9.12(a集合A:)窗口W和关于w的D的局部背景(W-D):(C)A的补集: (dD对A的腐蚀:(e)(W-D)对A的腐蚀:(D(d)和(e)的交集,如所 6网 希望的那样,该交集显示了D的原点的位置。黑点是C,D和E的原店