第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被当做