第八章形态学图像处理内容提纲:1.数学形态学的基本概念2.数学基础3.形态学基本运算4.二值形态学图像处理基本操作5.灰阶图像形态学处理基本操作6.形态学图像处理基本应用7.总结9.1基本概念形态学:通常指生物学中对动植物的形状和结果进行处理的一个分支。数学形态学(mathematicalmorphology,MM):表示以形态为基础对图像进行分析的数学工具.基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的.形态学图像处理的数学基础和所用语言是集合论.形态学图像处理的基本运算有4个:膨胀、腐蚀、开操作和闭操作形态学图像处理的应用可以简化图像数据,保持它们基本的形状特性,并除去不相干的结构9.2数学基础集合论的一些基本概念:-属于、不属于、空集令A是Z2中的一个集合,如果a是其中的一个元素,称a属于A,并记作:aA,否则,称a不属于A,记为:aA,如A中没有任何元素,称A为空集:-子集、并集、交集AB,C=AB,C=AB-不相连(互斥)、补集、差集AB=,Ac={a|aA},A–B={c|cA,cB}=ABc集合关系的图形表示并、交、补、减移位、反射——反射(相对某个中心点)——移位(相对原点),(),zBwwbbBAccazaA8.2二值图像中的基本逻辑操作三种最基本的逻辑运算(功能完整的):与、或、非(补)尽管逻辑操作与集合操作间存在一一对应的关系,但逻辑操作只是针对二值图像。逻辑操作图形表示8.2二值形态学基本运算膨胀(dilation)腐蚀(erosion)开和闭(openingandclosing)击中与否变换(hit-or-miss)基本概念111111111111111111101101111011011101结构元素Sxy图像A二值形态学中的运算对象是集合。设A为图像集合,S为结构元为结构元素,数学形态学运算是用S对A进行操作。需要指出,实际上结构元素本身也是一个图像集合。对每个结构元素可以指定一个原点,它是结构元素参与形态学运算的参考点。应注意,原点可以包含在结构元素中,也可以不包含在结构元素中,但运算的结果常不相同。二值形态学中两个最基本的运算是腐蚀与膨涨结构元素S在形态学算法设计中,结构元的选择十分重要,其形状、尺寸的选择是能否有效提取信息的关键。选择的几个基本原则:①结构元必须在几何上比原图像简单,且有界;当选择性质相同或相似的结构元时,以选择极限情况为宜;②结构元的凸性很重要,对非凸子集,由于连接两点的线段大部分位于集合的外面,故用非凸子集作为结构元将得不到什么信息。8.2.1腐蚀运算---使图像缩小()zABzBA$假定A和B是Z2上的两个集合,把A被B腐蚀定义为:含义:腐蚀结果是这样一个由移位元素z组成的集合,以至B对这些元素移位操作的结果完全包含于A。A用B腐蚀的结果是所有使B平移Z后仍在A中的Z的集合。换句话说,用B来腐蚀来腐蚀A得到的集合是B完全包括在A中时B的原点位置的集合。腐蚀过程解释图示–结果:使二值图像减小一圈算法:用结构元素B(如3x3),扫描图像A的每一个像素用结构元素与其覆盖的二值图像做“与”操作再根据计算的结果对结构元素原点对应的图像象素置值。如果都为1(结构相同),结果图像中与B的原点位置对应的像素值标注为1;否则为0腐蚀运算的示例图(a)中的阴影部分为集合X,图(b)中的中的阴影部分为结构元素S,而图(c)中黑色部分给出了结果。由图可见,腐蚀将图像(区域)收缩小了。腐蚀在数学形态学运算中的作用是消除物体边界点。如果结构元素取3×3的像素块,腐蚀将使物体的边界沿周边减少一个像素。腐蚀可以把小于结构元素的物体(毛刺、小凸起)去除,这样选取不同大小的结构元素,就可以在原图像中去掉不同大小的物体。如果两个物体之间有细小的连通,那么当结构元素足够大时,通过腐蚀运算可以将两个物体分开。腐蚀操作应用腐蚀操作应用举例:消除二值图像中的不相关细节,起到滤波作用包含边长为1,3,5,7,9和15像素正方形的二值图像使用13×13像素大小的结构元素腐蚀原图像的结果使用13×13像素大小的结构元素膨胀图b,恢复原来15×15尺寸的正方形8.2.2膨胀运算---使图像扩大()yABxBA假定A和B是Z2上的两个集合,把A被B(结构元素)膨胀定义为:上式表示:B的反射进行平移与A的交集不为空[()]yABxBAA这里,结构元B也可以成为卷积掩码,因为膨胀的操作过程和线性卷积过程很类似。另一个定义:上式表示:B的反射进行平移与A的交集是A的子集算法实现.其过程如下:将结构元素B的原点移至集合A的某一点,用结构元素与其覆盖的二值图像做“与”操作再根据计算的结果对结构元素原点对应的图像象素置值。如果都为0,结果图像该像素为0。否则为1对集合中所有元素重复该过程11111膨胀过程解释图示膨胀操作应用举例:桥接断裂图像间的间隙优点:在一幅二值图像中直接得到结果,对比低通滤波方法利用圆形结构元素做膨胀运算,填补“细缝”。”。腐蚀后膨胀后原图腐蚀与膨胀腐蚀和膨胀关于补集和反射操作呈对偶关系(证明略):()ccABAB$8.2.3开和闭运算()ABABB$开运算:相当于先用结构元B对A腐蚀,再对腐蚀结果用同样的结构元进行膨胀操作。开运算的几何解释AoB的边界通过B中的点完成B在A的边界内转动时,B中的点所能到达的A的边界的最远点开运算去掉了凸角(a)结构元素S1和S2;(b)X○S1;(c)X○S2闭运算()ABABB$相当于先用结构元B对A进行膨胀,再对膨胀结果用同样的结构元进行腐蚀操作,过程与开运算正好相反。几何上,闭运算的结果是由这样一些点集w组成的,即包含w的任何(B)z与A的交集非空。闭运算的几何解释A•B的边界通过B中的点完成B在A的边界外部转动开、闭运算的基本作用从开、闭运算的基本定义和运行过程可以看出,这两种集合操作的所能导致的大致效果如下:开运算通常对图像轮廓进行平滑,使狭窄的“地峡”形状断开,去掉细的突起。闭运算也是趋向于平滑图像的轮廓,但于开运算相反,它一般使窄的断开部位和细长的沟熔合,填补轮廓上的间隙。就像腐蚀和膨胀的关系一样,开和闭也是关于集合补和反转的对偶。()()ccABAB开操作的3条性质AoB是A的子集合如果C是D的子集,则CoB是DoB的子集(AoB)oB=AoB闭操作的3条性质A是A•B的子集合如果C是D的子集,则C•B是D•B的子集(A•B)•B=A•B开闭运算的代数性质由于开、闭运算是在腐蚀和膨胀运算的基础上定义的,根据腐蚀和膨胀运算的代数性质,可得到下面的性质。对偶性扩展性(收缩性)即开运算恒使原图像缩小,而闭运算恒使原图像扩大开、闭运算进行形态学滤波举例:指纹噪声消除过程:先开后闭,开消除噪声,闭修复开运算造成的指纹断裂。a图是受噪声污染的指纹二值图像,噪声为黑色背景上的亮元素和亮指纹部分的暗元素b图是使用的结构元素c图是使用结构元素对图a腐蚀的结果:黑色背景噪声消除了,指纹中的噪声尺寸增加d图是使用结构元素对图c膨胀的结果:包含于指纹中的噪声分量的尺寸被减小或被完全消除,带来的问题是:在指纹纹路间产生了新的间断e图是对图d膨胀的结果,图d的大部分间断被恢复,但指纹的线路变粗了f图是对图e腐蚀的结果,即对图d中开操作的闭操作。最后结果消除了噪声斑点缺点:指纹线路还是有缺点,可以通过加入限制性条件解决8.2.4击中与否变换形态学击中与否变换是形状检测的基本工具。先看一个形状定位的例子,如下图中的X:图续下页接上页图在各个操作步骤中,图(d)中A被X腐蚀的结果可以看作X的所有原点位置的集合,在这些点上,X从A中发现了一次匹配,或者说X击中了一次A。同样,图(e)可以看作X的背景击中A所得到的集合。综合上述分析,并把X和X的背景(W-X)统一表示成集合B,则图(f)即相当于B击中A的结果,表示如下:12()[()]()[]ccABAXAWXABABAB或:#$$#$$第二个式子可以解释为这样所有原点的集合,在这些点上,B1在A中找到了一次匹配(击中),同时B2击中了Ac一次。有差集和腐蚀与膨胀间的对偶关系,上式可写成如下的形式:21()ABABAB-#$上述的任何三个公式都可成为击中与否变换,可通过其对两个不相连对象进行区分。当背景不被要求时,该变换退化为腐蚀操作。8.3二值形态学图像处理基本操作边界抽取(boundaryextraction)区域填充(regionfilling)连接分量提取(extractionofconnectedcomponents)凸壳算法(convexhull)细化(thinning)粗化(thickening)骨架(skeletons)修剪(pruning)8.3.1边界抽取()()AAAB$令集A的边界为(A),其可以用某一合适的结构元素B对A先进行腐蚀,然后再把A减去腐蚀的结果来获得。图例说明(9.4节所有的格子图像均用阴影表示1,白色表示0),当结构元素大小为3×3时,边界厚度为1象素。应用实例:人形上半身图像侧面轮廓提取1表示为白色,0表示为黑色8.3.2区域填充1()1,2,ckkXXBAk这里讨论一种简单的基于膨胀、取补和交的区域填充算法。下图所需填充的区域边界点是8连接的,先从界内一点P开始,用1去填充整个区域(设非边界元素为0),填充过程如下:其中,B为对称结构元素,当k迭代到Xk=Xk-1时,算法终止,集合Xk和A的并集即为填充结果。上述过程每一步与Ac的交起把结果限制在我们感兴趣区域内的作用(要不膨胀会一直进行,直至填满整个区域),所以上述过程也称条件膨胀。区域填充过程图示(a)集合A,(b为A的补集,(c为结构元素B,(d边界内的初始点(e)∼∼(h)使用下式的步骤,(i)为最后结果。1()1,2,ckkXXBAk区域填充应用实例:消除球体二值扫描图像中心由于光放射造成的中心黑色区域通过区域填充消除白色圆圈内的黑点8.3.3连接成分提取连接分量提取经常被用于图像自动检测中,先回忆一下象素连接性(2.5.2节)的概念,然后看下图:上图中,Y表示包含在集合A中的连接成分,并假设Y中的某点P已知,下述表达式将生成所有Y中的元素:1()1,2,kkXXBAk其中,X0=p,B是如图中所示的一个适当的结构元素,当Xk=Xk-1时,迭代停止,此时,Y=Xk注意该表达式与填充过程的表达式的唯一区别是用A代替了那里的补。每次迭代与A取交集的作用是消除中心元素标志为0的那些膨胀结果。结构元素的形状是根据象素8连接性的定义而来的。连通分量提取的应用举例-鸡肉块中显著尺寸骨头碎片的提取8.3.4凸壳算法1()1,2,,1,2,3,4iikkXXBAki#i凸性(convexity):如某集合A中任意两点的连线上的所有点都在该集合中,则称该集合是凸的。凸壳:任意集合S的凸壳H(表示成C(S))指的是包含S的最小凸集。差H-S称为S的凸缺。凸缺/壳主要用于对象的描述。凸壳算法如下:其中Bi代表下页图所示的4个结构元素,且X0i=A,令D=Xiconv为上述迭代的收敛(convergence)值,则A的凸壳由下式得到:41()iiCAD凸壳算法的具体过程可参照下页图凸壳算法图形化过程图(h)的凸壳结果图中,不同结构元素对它的贡献用不同的条纹表示。上述方法的一个明显的不足是凸壳可能在A基础上生成的保证凸壳凸性所需的最小尺寸。一个简单的解决办法是限制结果凸壳不超过原集合水平和垂直方向的最大尺寸。上述结果经过此限制后的凸壳如下。凸壳算法讨论8.3.5细化算法()()cABAABAAB##12{}(((())))nABABBB一般算法:一种更有用的基于结构元素序列的对称细化算法