数字图像处理与机器视觉第11章形态学图像处理11.1预备知识11.2二值图像中的基本形态学运算11.3二值图像中的形态学应用11.4灰度图像中的基本形态学运算形态学图像处理是图像处理中应用最为广泛的技术之一,主要用于从图像中提取对表达和描绘区域形状有意义的图像分量,使后续的识别工作能够抓住目标对象最为本质的形状特征。数学形态学进行图像处理的基本思想是:用具有一定形态的结构元素探测目标图像,通过检验结构元素在图像目标中的可放性和填充方法的有效性,来获取有关图像形态结构的相关信息,进而达到对图像分析和识别的目的。在数字图像处理中,形态学是借助集合论的语言来描述的。把一幅图像或者图像中一个我们感兴趣的区域称为集合,用大写字母A,B,C等表示;元素通常是指一个单个的像素,用该像素在图像中的整数位置坐标z=(z1,z2)来表示,z∈Z2,Z2为二维整数空间,在该空间中,集合的每个元素都是一个二维向量;Aab1、集合与元素11.1预备知识集合论中的一些重要关系属于:对于某一集合(图像区域)A,若点a在A之内,则称a为A的元素,a属于A,记作a∈A;反之,若点b不在A之内,称a不属于A,记作bA,aAbA2、集合与集合(1)并集|CzzAorzBABCABU记作即A与B的并集C包含集合A与集合B的所有元素2、集合与集合(2)交集|andCzzAzBCABI记作即A与B的交集C包含同时属于集合A与集合B的元素ABC(3)集合的补集|CAzzA即A的补集是不包含A的所有元素组成的集合。(4)集合的差集集合的差|,cABzzAzBABI即A与B的差集由所有属于A但不属于B的元素构成。(4)包含AB集合A的每1个元素都是另一个集合B的元素,则称A为B的子集。当且仅当和同时成立时,称集合A和B相等。BAABBA3、集合的反射和平移(1)集合的反射由集合A中所有元素相对于原点的反射元素组成的集合称为集合A的反射,记为。其中,z表示集合A中的元素a对应的反射元素。集合的反射图示Aˆ=z|z=-a,aAA3、集合的反射和平移(2)集合的平移由集合B中所有元素平移z=(z1,z2)后组成的元素集合称为集合B的平移,记为。【勘误】其中,x表示集合B中的元素b平移z后形成的元素。z=x|x=b+z,bBBzB设有两幅图像A和S。若A是被处理的对象,而S是用来处理A的,则称S为结构元素,结构元素通常都是一些比较小的图像,A与S的关系类似于滤波中的图像和模板的关系结构元素必须指定原点位置4.结构元素1、理论基础对Z2上元素的集合A和S,设A为目标图像,S为结构元素,则目标图像A被结构元素S腐蚀,定义为:其中,z是一个表示集合平移的位移量。11.2二值图像中的基本形态学运算11.2.1腐蚀z=z|ASSAZ2即像平面让原本位于图像原点的结构元素S在整个Z2平面上移动,如果当S的原点平移至z点时,S能够完全包含于A中,则所有这样的z点构成的集合即为S对A的腐蚀图像。z=z|ASSA11.2.1腐蚀1111111111110000100(a)目标图像A(b)结构元素S(c)腐蚀运算结果图像腐蚀运算实例举例:z=z|ASSA腐蚀运算的含义是:每当在目标图像A中找到一个与结构元素S相同的子图像时,就把该子图像中与B的原点位置对应的那个像素位置标注为1,图像A上标注出的所有这样的像素组成的集合,即为腐蚀运算的结果。11.2.1腐蚀简而言之,腐蚀运算的实质就是在目标图像中标出那些与结构元素相同的子图像的原点位置的像素。注意,结构元素中的原点位置可以不为1,但要求目标图像中的子图像与结构元素S的原点对应的那个位置的像素值是1。假设图像中“1”为前景,“0”为背景腐蚀运算的基本过程是:把结构元素B看作为一个卷积模板,每当结构元素平移到其原点位置与目标图像A中那些像素值为“1”的位置重合时,就判断被结构元素覆盖的子图像的其它像素的值是否都与结构元素相应位置的像素值相同;只有当其都相同时,就将结果图像中的那个与原点位置对应的像素位置的值置为“1”,否则置为0。11.2.1腐蚀注意:当结构元素在目标图像上平移时,结构元素中的任何元素不能超出目标图像的范围。11.2.1腐蚀1111111111110000100(a)目标图像A(b)结构元素S(c)腐蚀运算结果图像腐蚀运算实例举例:z=z|ASSA11.2.1腐蚀2.结构元素形状对腐蚀运算结果的影响腐蚀运算的结果不仅与结构元素的形状(矩形、圆形、菱形等)选取有关,而且还与原点位置的选取有关。11111111111000101010结构元素不同时的腐蚀运算实例11.2.1腐蚀2.结构元素形状对腐蚀运算结果的影响举例:111111111111000000100图8.6与图8.4的结构元素的原点不同时的腐蚀运算实例11.2.1腐蚀2、结构元素形状对腐蚀运算结果的影响举例:1111利用腐蚀算法消除物体之间的粘连示例11.2.1腐蚀2.结构元素形状对腐蚀运算结果的影响举例:利用腐蚀算法识别物体示例11.2.1腐蚀3.腐蚀运算在物体识别中的应用举例:11.2.2膨胀1、概念对Z2上元素的集合A和S,设A为目标图像,B为结构元素,则目标图像A被结构元素B膨胀可定义为:其中,z是一个表示集合平移的位移量。z=z|ASSA)I11.2.2膨胀膨胀的含义是:先对结构元素S做关于其原点的反射得到反射集合,然后再在目标图像A上将平移z,则那些平移后与目标图像A至少有1个非零公共元素相交时对应的的原点位置所组成的集合,就是膨胀运算的结果。1、概念ˆSˆSˆSˆS11.2.2膨胀膨胀运算的基本过程是:(1)求结构元素S关于其原点的反射集合;(2)每当结构元素在目标图像A上平移后,结构元素与其覆盖的子图像中至少有一个元素相交时,就将目标图像中与结构元素的原点对应的那个位置的像素值置为“1”,否则置为0。注意:(1)当结构元素中原点位置的值是0时,仍把它看作是0;而不再把它看作是1。(2)当结构元素在目标图像上平移时,允许结构元素中的非原点像素超出目标图像范围。ˆSˆSˆSˆS111111111111111111111111111111111(a)目标图像A结构元素S(c)结构元素(d)膨胀运算结果图像举例:11.2.2膨胀ˆSˆS:相对于S自身原点的反射z=z|ASSA)I2、结构元素形状对膨胀运算结果的影响当目标图像不变,但所给的结构元素的形状改变时;或结构元素的形状不变,而其原点位置改变时,膨胀运算的结果会发生改变。11.2.2膨胀111111111111111111111111111111(a)目标图像A结构元素S(c)结构元素(d)膨胀运算结果图像11.2.2膨胀下面给出的是与上图的目标图像相同但结构元素不同时,膨胀运算结果不同的例子。ˆS11111111111010101111110111110111111111111(a)目标图像A结构元素S(c)结构元素(d)膨胀运算结果图像11.2.2膨胀下面给出的是与前图目标图像相同,但仅结构元素的原点位置改变时,膨胀运算结果不同的例子。ˆS当结构元素中原点位置的值是0时,仍把它看作是0;而不再把它看作是1。1111利用膨胀运算将相邻的物体连接起来3、膨胀运算的应用11.2.2膨胀1111利用膨胀运算填充目标区域中的小孔3、膨胀运算的应用11.2.2膨胀4、腐蚀运算与膨胀运算的对偶性膨胀和腐蚀运算的对偶性可分别表示为:11.2.2膨胀也即:对目标图像的膨胀运算,相当于对图像背景的腐蚀运算;对目标图像的腐蚀运算,相当于对图像背景的膨胀运算。ˆ=ˆ=ccccASASASAS(a)目标图像(b)结构元素S(c)膨胀(d)腐蚀A(e)的补(f)S的反射(g)腐蚀(h)膨胀AcA1111111111111111111111111111221121112112121111111111111111111111111111111111111111111221111211112111121111111110011010011.2.2膨胀腐蚀运算与膨胀运算的对偶性-示例ˆcASASASˆcASˆS1111111111.2.2膨胀腐蚀运算与膨胀运算的对偶性-实例验证(a)目标图像A(b)结构元素S(c)膨胀结果(d)腐蚀结果(e)A的补(b)S的反射(c)腐蚀(d)膨胀ˆcASˆcAS不同结构单元对腐蚀和膨胀的影响不同结构单元对腐蚀和膨胀的影响S=3*3方形结构单元原图S膨胀后图像S腐蚀后图像不同结构单元对腐蚀和膨胀的影响不同结构单元对腐蚀和膨胀的影响原图S膨胀后图像S腐蚀后图像S=5*5方形结构单元(a)含长度为1,3,5,7,9,15的正方形(b)结构元素为13×13,对(a)腐蚀的结果(c)结构元素为13×13对(b)进行膨胀筛选使用同一个结构元素对目标图像先进行腐蚀运算,然后再进行膨胀运算称为开运算。结构元素S对目标图像A的开运算定义为:11.2.3开运算=ASASSo开运算的作用:平滑物体的轮廓;使狭窄的链接断开;消除细的突出物或毛刺。111111111011011110000100(a)目标图像A(b)结构元素SS的反射(c)S对A的腐蚀结果(d)S对(c)膨胀结果111举例:11.2.3开运算1111ˆS对含噪声的印刷电路板图像进行开运算实例印刷电路板二值图像进行开运算的结果图像实例:11.2.3开运算使用同一个结构元素对目标图像先进行膨胀运算,然后再进行腐蚀运算称为闭运算。结构元素S对目标图像A的闭运算定义为:11.2.4闭运算=ASASS闭运算的作用:同样可以使轮廓变得平滑;与开运算相反的,通常能够弥合狭窄的间断,消除小的孔洞,填补轮廓线中的断裂;1111111111212112121121121121‘11(b)结构元素S(a)目标图像A(c)S对A的膨胀结果(d)S对(c)腐蚀结果11.2.4闭运算举例:01101101111011111111ˆSS的反射电路板二值图像闭运算实例实例:11.2.4闭运算电路板二值图像进行闭运算的结果图像开运算与闭运算的对偶性开运算与闭运算互为对偶,并可表示为:总体而言,开运算具有磨光图像外边界的作用,而闭运算具有磨光物体内边界的作用。BABAcc)(ˆ=ccASASo(b)对图像进行(c)腐蚀运算结果(d)对图(c)进行(e)对H图像开腐蚀运算膨胀运算运算结果(f)对图(a)进行(g)膨胀运算结果(h)对图(g)的(i)对H形图像闭膨胀运算腐蚀运算运算结果(a)H形原图像开运算与闭运算对偶性-实例验证这些经典的形态学应用都是通过前面介绍的基本运算按照特定次序组合起来,并且采用了一些特殊的结构元素实现的。11.3二值图像中的形态学应用11.3.1击中与击不中变换(a)(b)(c)(d)(e)(f)形态学击中和击不中变换常用于图像中某种特定形状的精确定位,是形状检测的一个基本工具。12cASASAS其中,1212SSSSSIU且11.3.2边界提取)()(1BAAA要在二值图像中提取物体的边界,容易想到的一个方法是将所有物体内部的点删除(置为背景色)。具体说,可以逐行扫描原图像,如果发现一个黑点(书图11.17中黑点为前景)的8个邻域都是黑点,则该点为内部点,在目标图像中将它删除(置为背景色)。实际上相当于采用一个3*3的结构元素对原图像进行腐蚀,使得只有那些8个邻域都有黑点的内部点被保留,再用原图像减去腐蚀后的图像,恰好删除了这些内部点,留下了边界像素。(a)原图像(b)原图像的内边界(c)原图像的外边界(d)原图像的形态学梯度11.3.2边界提取(a)边界图像A(b)图像A的补集(c)结构元素BcA区域填充过程示例用到的边界图像A和结构元素BP364图11.21区域填充效果模拟11.3.