第九章形态学图像处理内容提纲:1.数学形态学的发展历史及基本概念2.数学基础3.形态学基本运算4.二值形态学图像处理基本操作5.灰阶图像形态学处理基本操作6.形态学图像处理基本应用7.总结9.1数学形态学历史及基本概念形态学:通常指生物学中对动植物的形状和结果进行处理的一个分支。数学形态学(mathematicalmorphology,MM):是根据形态学概念发展而来具有严格数学理论基础的科学,并在图像处理和模式识别领域得到了成功应用。除了通常作为一种抽取图像中区域形状特征,如边界、骨骼和凸壳等,的工具外,也经常用于图像的预处理和后处理,如:形态学滤波、细化和修剪等。发展历史(1)60年代:孕育和形成1964诞生,法国学者Serra对铁矿石的岩相进行定量分析,以预测特矿石的可轧性。同时,Matheron研究了多孔介质的几何结构、渗透性及二者的关系,二者的研究直接导致数学形态学雏形的形成。1966年命名MathematicalMorphology。1968年在法国成立枫丹白露(Fontainebleau)数学形态学研究中心。70年代:1973年,Mathron的《随机集和积分几何》为数学形态学奠定了基础。发展历史(2)80年代:1982由Serra主编完成的《ImageAnalysisandMathematicalMorphology》是里程碑,表明数学形态学在理论上已趋于完备。此后,该书的第二版和第三版相继出版。1986,CVGIP(computervisiongraphicsandimageprocessing)发表了MM专辑,使MM的研究呈现新景象。提出基于MM的纹理分析模型系列。90年代至今:在模式识别,编码,运动分析,运动景物描述、放射医学、工业控制等方面取得进展,及用于数值函数的形态学算子开发等。“如果证明,在某些时候,形态学方法比其他方法在模式识别方面更有效,那是因为它更好地把握了景物的几何特点,仅此而已”-Serra在把握自然景物含义,人类思维的符号描述方面显得不够有力,有待发展。MM是一门综合了多学科知识的交叉科学,尽管其理论基础很艰深,但基本概念却比较简单。其体现了逻辑推理与数学演绎的严谨性,又具备与实践紧密相关的实验和计算技术。它涉及微分几何、积分几何、测度论、泛函分析和随机过程等许多数学理论,其中积分几何和随机集论是其基石。由于描述MM的语言是集合论,可以提供一个统一而强大的工具来处理图像分析中的问题。用MM对物体几何结构分析的过程就是主客体相互逼近的过程,通过MM的几个基本概念和运算,可将结构元灵活地组合、分解,并根据所得形态变换序列达到分析得目的。形态学图像处理概念形态学图像分析的基本步骤①提出所要描述的物体几何结构模式,即提取几何结构特征;②根据结构模式选择相应的结构元素(简单又有最强的表现力);③用选定的结构元对图像实行击中与否(HMT)变换,便得到比原始图像更显著突出物体特征信息的图像。如赋予相应变量,还可得到定量描述;④经过形态学变换后的图像突出我们所需的信息,从而可以方便提取信息。以上,HMT是MM图像分析的核心运算。形态学图像变换中结构元选取的原则在形态学算法设计中,结构元的选择十分重要,其形状、尺寸的选择是能否有效提取信息的关键。选择的几个基本原则:①结构元必须在几何上比原图像简单,且有界;当选择性质相同或相似的结构元时,以选择极限情况为宜;②结构元的凸性很重要,对非凸子集,由于连接两点的线段大部分位于集合的外面,故用非凸子集作为结构元将得不到什么信息。形态学图像分析的优点MM方法比其他空域或频域图像处理方法有一些明显的优势:•在恢复处理中,形态滤波可借助先验的几何特征信息,利用形态学算子有效滤除噪声,又可保留图像的原有信息;•MM算法易于用并行处理方法有效实现,且硬件实现容易;•基于MM的边缘信息提取由于基于微分的提取算法,也不象微分算法对噪声那样敏感,同时提取的边缘较光滑;•基于MM方法提取的图像骨架较连续,断点少。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-反射(相对某个中心点)、移位(相对原点),(),zBwwbbBAccazaA集合关系的图形表示并、交、补、减移位、反射二值图像中的基本逻辑操作三种最基本的逻辑运算(功能完整的):与、或、非(补)尽管逻辑操作与集合操作间存在一一对应的关系,但逻辑操作只是针对二值图像。逻辑操作图形表示9.3二值形态学基本运算膨胀(dilation)腐蚀(erosion)开和闭(openingandclosing)击中与否变换(hit-or-miss)9.3.1膨胀运算()zABzBA定义:假定A和B是Z2上的两个集合,把A被B(结构元素)膨胀定义为:含义:膨胀结果是这样一个由移位元素z组成的集合,以至B的反射对这些元素移位操作的结果与A至少重叠一个元素,因此也可以表示成:[()]zABzBAA这里,结构元B也可以成为卷积掩码,因为膨胀的操作过程和线性卷积过程很类似。膨胀过程解释图示膨胀操作应用举例:桥接断裂图像间的间隙9.3.2腐蚀运算()zABzBA$定义:假定A和B是Z2上的两个集合,把A被B腐蚀定义为:含义:腐蚀结果是这样一个由移位元素z组成的集合,以至B对这些元素移位操作的结果完全包含于A。腐蚀和膨胀关于补集和反射操作呈对偶关系(证明略):()ccABAB$腐蚀过程解释图示腐蚀操作应用举例:消除二值图像中的不相关细节本例中“细节”是从尺寸大小的角度讲的,同时该例中出现的一些概念是形态学滤波的基础。9.3.3开和闭运算()ABABB$开运算:相当于先用结构元B对A腐蚀,再对腐蚀结果用同样的结构元进行膨胀操作。开运算也可以通过下面的拟合过程来表示:()()zzABBBA基本属性:①开的结果是A的子集;②如C是D的子集,则C与B开的结果是D与B开运算结果的子集;③对同样的A,做多次开运算的结果与做一次是一样的。开运算的几何解释可见,开运算的边界是由这样一些点组成的,就是当B沿A的内部边界滚动时,B中所能达到的A的内部边界的最远的点。闭运算()ABABB$相当于先用结构元B对A进行膨胀,再对膨胀结果用同样的结构元进行腐蚀操作,过程与开运算正好相反。几何上,闭运算的结果是由这样一些点集w组成的,即包含w的任何(B)z与A的交集非空。基本属性:①A是开运算结果的子集;②如C是D的子集,则C与B闭作用的结果是D与B闭运算结果的子集;③对同样的A,做多次闭运算的结果与做一次是一样的。闭运算的几何解释就像腐蚀和膨胀的关系一样,开和闭也是关于集合补和反转的对偶。()()ccABAB开、闭运算的基本作用从开、闭运算的基本定义和运行过程可以看出,这两种集合操作的所能导致的大致效果如下:开运算通常对图像轮廓进行平滑,使狭窄的“地峡”形状断开,去掉细的突起。闭运算也是趋向于平滑图像的轮廓,但于开运算相反,它一般使窄的断开部位和细长的沟熔合,填补轮廓上的间隙。开、闭运算进行形态学滤波举例:指纹噪声消除过程:先开后闭,开消除噪声,闭修复开运算造成的指纹断裂。9.3.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-#$上述的任何三个公式都可成为击中与否变换,可通过其对两个不相连对象进行区分。当背景不被要求时,该变换退化为腐蚀操作。9.4二值形态学图像处理基本操作边界抽取(boundaryextraction)区域填充(regionfilling)连接分量提取(extractionofconnectedcomponents)凸壳算法(convexhull)细化(thinning)粗化(thickening)骨架(skeletons)修剪(pruning)9.5.1边界抽取()()AAAB$令集A的边界为(A),其可以用某一合适的结构元素B对A先进行腐蚀,然后再把A减去腐蚀的结果来获得。图例说明(9.4节所有的格子图像均用阴影表示1,白色表示0),当结构元素大小为3×3时,边界厚度为1象素。应用实例:人形上半身图像侧面轮廓提取9.5.2区域填充1()1,2,ckkXXBAk这里讨论一种简单的基于膨胀、取补和交的区域填充算法。下图所需填充的区域边界点是8连接的,先从界内一点P开始,用1去填充整个区域(设非边界元素为0),填充过程如下:其中,B为对称结构元素,当k迭代到Xk=Xk-1时,算法终止,集合Xk和A的并集即为填充结果。上述过程每一步与Ac的交起把结果限制在我们感兴趣区域内的作用(要不膨胀会一直进行,直至填满整个区域),所以上述过程也称条件膨胀。区域填充过程图示区域填充应用实例:消除球体二值扫描图像中心由于光放射造成的中心黑色区域9.5.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连接性的定义而来的。连接分量提取应用实例-鸡肉块中显著尺寸骨头碎片的提取9.5.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基础上生成的保证凸壳凸性所需的最小尺寸。一个简单的解决办法是限制结果凸壳不超过原集合水平和垂直方向的最大尺寸。上述结果经过此限制后的凸壳如下。凸壳算法讨论9.5.5细化算法()()cABAABAAB##12{}(((())))nABABBB一般算法:一种更有用的基于结构元素序列的对称细化算法为:12,,nBBBB其中是结构元素序列,且Bi是对Bi-1旋转而来的。对所有结果元素操作一遍后,如果每收敛,再依次对各个结构元素重复进行运算,直至没有变化为止。具体过程见下页图示实例。细化过程演示(教材原图有误,矫正后见下图)原图的标题按如下说明更正:9.5.6粗化算法()ABAAB