第8章-数学形态学及其应用--数字图像处理-教学课件.ppt

上传人:可**** 文档编号:87082302 上传时间:2023-04-16 格式:PPT 页数:110 大小:2.79MB
返回 下载 相关 举报
第8章-数学形态学及其应用--数字图像处理-教学课件.ppt_第1页
第1页 / 共110页
第8章-数学形态学及其应用--数字图像处理-教学课件.ppt_第2页
第2页 / 共110页
点击查看更多>>
资源描述

《第8章-数学形态学及其应用--数字图像处理-教学课件.ppt》由会员分享,可在线阅读,更多相关《第8章-数学形态学及其应用--数字图像处理-教学课件.ppt(110页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第八章 数学形态学及其应用 第八章 数学形态学及其应用 8.1 引言引言 8.2 二值形态学二值形态学 8.3 灰值形态学灰值形态学 8.4 形态学的应用形态学的应用 8.5 应用实例应用实例细化细化 第八章 数学形态学及其应用 8.1 引引 言言 8.1.1 数学形态学数学形态学 数学形态学(Mathematical Morphology)诞生于1964年,是由法国巴黎矿业学院博士生赛拉(J.Serra)和导师马瑟荣,在从事铁矿核的定量岩石学分析及预测其开采价值的研究中提出“击中/击不中变换”,并在理论层面上第一次引入了形态学的表达式,建立了颗粒分析方法。他们的工作奠定了这门学科的理论基础,

2、如击中/击不中变换、开闭运算、布尔模型及纹理分析器的原型等。数学形态学的基本思想是用具有一定形态的结构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。第八章 数学形态学及其应用 数学形态学的数学基础和所用语言是集合论,因此它具有完备的数学基础,这为形态学用于图像分析和处理、形态滤波器的特性分析和系统设计奠定了坚实的基础。数学形态学的应用可以简化图像数据,保持它们基本的形状特性,并除去不相干的结构。数学形态学的算法具有天然的并行实现的结构,实现了形态学分析和处理算法的并行,大大提高了图像分析和处理的速度。第八章 数学形态学及其应用 数学形态学是由一组形态学的代数运算子组成的,它的基

3、本运算有4个:膨胀(或扩张)、腐蚀(或侵蚀)、开启和闭合,它们在二值图像和灰度图像中各有特点。基于这些基本运算还可推导和组合成各种数学形态学实用算法,用它们可以进行图像形状和结构的分析及处理,包括图像分割、特征抽取、边界检测、图像滤波、图像增强和恢复等。数学形态学方法利用一个称作结构元素的“探针”收集图像的信息,当探针在图像中不断移动时,便可考察图像各个部分之间的相互关系,从而了解图像的结构特征。数学形态学基于探测的思想,与人的FOA(Focus Of Attention)的视觉特点有类似之处。作为探针的结构元素,可直接携带知识(形态、大小、甚至加入灰度和色度信息)来探测、研究图像的结构特点。

4、第八章 数学形态学及其应用 第八章 数学形态学及其应用 数学形态学是一门建立在严格数学理论基础上的学科,其基本思想和方法对图像处理的理论和技术产生了重大影响。事实上,数学形态学已经构成一种新的图像处理方法和理论,成为计算机数字图像处理的一个重要研究领域,并且已经应用在多门学科的数字图像分析和处理的过程中。这门学科在计算机文字识别,计算机显微图像分析(如定量金相分析,颗粒分析),医学图像处理(例如细胞检测、心脏的运动过程研究、脊椎骨癌图像自动数量描述),图像编码压缩,工业检测(如食品检验和印刷电路自动检测),材料科学,机器人视觉,汽车运动情况监测等方面都取得了非常成功的应用。另外,数学形态学在指

5、纹检测、经济地理、合成音乐和断层X光照像等领域也有良好的应用前景。形态学方法已成为图像应用领域工程技术人员的必备工具。目前,有关数学形态学的技术和应用正在不断地研究和发展。第八章 数学形态学及其应用 8.1.2 基本符号和术语基本符号和术语 1.元素和集合元素和集合 在数字图像处理的数学形态学运算中,把一幅图像称为一个集合。对于二值图像而言,习惯上认为取值为1的点对应于景物中心,用阴影表示,而取值为0的点构成背景,用白色表示,这类图像的集合是直接表示的。考虑所有值为1的点的集合为A,则A与图像是一一对应的。对于一幅图像A,如果点a在A的区域以内,那么就说a是A的元素,记为aA,否则,记作aA,

6、如图81(a)所示。第八章 数学形态学及其应用 图8-1 元素与集合间的关系 第八章 数学形态学及其应用 第八章 数学形态学及其应用 图8-2 集合的交集、并集和补集 第八章 数学形态学及其应用 3.击中(击中(Hit)与击不中()与击不中(Miss)设有两幅图像A和B,如果AB,那么称B击中A,记为BA,其中是空集合的符号;否则,如果AB=,那么称B击不中A,如图8-3所示。图8-3 击中与击不中(a)B击中A;(b)B击不中A 第八章 数学形态学及其应用 第八章 数学形态学及其应用 图8-4 平移与反射 第八章 数学形态学及其应用 第八章 数学形态学及其应用 8.2 二值形态学二值形态学

7、二值形态学中的运算对象是集合。设A为图像集合,S为结构元素,数学形态学运算是用S对A进行操作。需要指出,实际上结构元素本身也是一个图像集合。对每个结构元素可以指定一个原点,它是结构元素参与形态学运算的参考点。应注意,原点可以包含在结构元素中,也可以不包含在结构元素中,但运算的结果常不相同。以下用阴影代表值为1的区域,白色代表值为0的区域,运算是对值为1的区域进行的。二值形态学中两个最基本的运算腐蚀与膨胀,如图8-5所示。第八章 数学形态学及其应用 图8-5 腐蚀与膨胀示意图 第八章 数学形态学及其应用 第八章 数学形态学及其应用 图8-6 S+x的三种可能的状态 第八章 数学形态学及其应用 第

8、一种情形说明S+x与X相关最大,第二种情形说明S+x与X不相关,而第三种情形说明S+x与X只是部分相关。因而满足式(8-1)的点x的全体构成结构元素与图像最大相关点集,这个点集称为S对X的腐蚀(简称腐蚀,有时也称X用S腐蚀),记为XS。腐蚀也可以用集合的方式定义,即 式(8-2)表明,X用S腐蚀的结果是所有使S平移x后仍在X中的x的集合。换句话说,用S来腐蚀X得到的集合是S完全包括在X中时S的原点位置的集合。上式也可以帮助我们借助相关概念来理解腐蚀操作。(8-2)第八章 数学形态学及其应用 式(8-2)表明,X用S腐蚀的结果是所有使S平移x后仍在X中的x的集合。换句话说,用S来腐蚀X得到的集合

9、是S完全包括在X中时S的原点位置的集合。上式也可以帮助我们借助相关概念来理解腐蚀操作。腐蚀在数学形态学运算中的作用是消除物体边界点。如果结构元素取33的像素块,腐蚀将使物体的边界沿周边减少一个像素。腐蚀可以把小于结构元素的物体(毛刺、小凸起)去除,这样选取不同大小的结构元素,就可以在原图像中去掉不同大小的物体。如果两个物体之间有细小的连通,那么当结构元素足够大时,通过腐蚀运算可以将两个物体分开。第八章 数学形态学及其应用 例例8-1 腐蚀运算图解。图8-7给出腐蚀运算的一个简单示例。其中,图8-7(a)中的阴影部分为集合X,图8-7(b)中的阴影部分为结构元素S,而图(c)中黑色部分给出了XS

10、 的结果。由图可见,腐蚀将图像(区域)收缩小了。图8-7 腐蚀运算示例 第八章 数学形态学及其应用(8-3)如果S包含了原点,即OS,那么XS将是X的一个收缩,即XSX(当OS时);如果S不包含原点,那么XSX未必成立。如果结构元素S关于原点O是对称的,那么S=SV,因此 X S=XSV,但是,如果S关于原点O不是对称的,那么X被S腐蚀的结果与X被SV腐蚀的结果是不同的。利用腐蚀运算的定义式可以直接设计腐蚀变换的算法。但有时为了更方便,常使用腐蚀的另一种表达式,即 第八章 数学形态学及其应用 第八章 数学形态学及其应用 根据上述理论,利用VC+可以编写一个实现腐蚀运算的函数MakeErosio

11、n()。/*/函数名称:BOOL MakeErosion()/基本功能:本函数对图像数据执行腐蚀操作/参数说明:/int *nMask 结构元素数组指针/int nMaskLen结构元素长度(以点数为计数单位)/unsigned char*pOut输出图像数据指针/unsigned char*pIn输入图像数据指针/intnWidthBytes图像宽度(以字节表示)/intnWidth图像宽度(以像素表示)第八章 数学形态学及其应用/intnHeight图像高度(以像素表示)/返回值:BOOL 成功返回TRUE,失败返回FALSE/*BOOL CMorphPro:MakeErosion(int

12、*nMask,int nMaskLen,unsigned char*pOut,unsigned char*pIn,int nWidthBytes,int nWidth,int nHeight)/若传入的图像数据为空,将无法完成操作,直接返回 if(pOut=NULL|pIn=NULL)return FALSE;/定义变量 int x,y,k;unsigned char Mark;/执行腐蚀操作 第八章 数学形态学及其应用 for(y=0;y nHeight;y+)unsigned char*pOutTemp=pOut;pOutTemp+=y*nWidthBytes;for(x=0;x nWid

13、th;x+)Mark=1;for(k=0;k=0)&(x+nMask2*k=0)&(y+nMask2*k+1 nHeight)第八章 数学形态学及其应用 第八章 数学形态学及其应用 else Mark=0;k=nMaskLen;if(Mark=1)pOutTempx=255;return TRUE;第八章 数学形态学及其应用 函数MakeErosion()是一个保护型函数,在文档类中不能直接调用,CMorphPro类(形态学处理类)提供了一个公有型函数Erosion(),可调用MakeErosion进行腐蚀运算。有关CmorphPro类的详细说明请参考配套光盘。Erosion()函数核心代码如

14、下:/*/函数名称:BOOL Erosion()/基本功能:本函数对CDibObject对象中的图像进行腐蚀运算/参数说明:int *nMask 结构元素数组指针/intn MaskLen 结构元素长度(以点数为计数单位)/CDibObject*pDibObject 输出图像数据指针/返回值:BOOL 成功返回TRUE,失败返回FALSE 第八章 数学形态学及其应用 第八章 数学形态学及其应用 /为新图像分配内存 /新图像数据指针 unsigned char*pNewBuffer=(unsigned char*):GlobalLock(hNewDib);/将原图像数据移动到新图像中(原图像数据

15、清零)MoveBuffer(pNewBuffer,pOldBuffer,(LONG)dwSize);/调用MakeErosion()保护型函数进行腐蚀操作 MakeErosion(nMask,nMaskLen,pOldBuffer,pNewBuffer,nWidthBytes,nWidth,nHeight);/将内存解锁以及将不再使用的内存释放 return(TRUE);第八章 数学形态学及其应用 图8-9 用33的结构元素进行腐蚀(a)原始二值图像;(b)33结构元素;(c)腐蚀结果(a)(b)(c)第八章 数学形态学及其应用 8.2.2 膨胀膨胀 腐蚀可以看作是将图像X中每一与结构元素S全

16、等的子集S+x收缩为点x。反之,也可以将X中的每一个点x扩大为S+x,这就是膨胀运算,记为XS。若用集合语言,它的定义为XS=x|S+xx 与式(8-4)等价的膨胀运算定义形式还有:(1)XS=X+s|sS (8-5)(2)XS=S+x|xX(8-6)(8-4)第八章 数学形态学及其应用 式(8-4)和式(8-5)在算法设计中更有用些,而式(8-6)便于刻画算法的几何特性。从式(8-4)可知,腐蚀和膨胀运算对集合运算的分配律只有在特定情况下才能成立,因此在应用时应注意。另外,用腐蚀和膨胀运算还可以实现图像的平移。如果在自定义结构元素时选择不在原点的一个点作为结构元素,则得到的图像形状没有任何改

17、变,只是位置发生了移动。仿照MakeErosion()函数,可以编写一个MakeDilation()函数进行膨胀运算,与腐蚀类似,由Dilation()调用MakeDilation()函数来实现膨胀运算。第八章 数学形态学及其应用 8.2.3 开、闭运算开、闭运算 1.基本概念基本概念 如果结构元素为一个圆盘,那么,膨胀可填充图像中的小孔(比结构元素小的孔洞)及图像边缘处的小凹陷部分,而腐蚀可以消除图像边缘小的成分,并将图像缩小,从而使其补集扩大。但是,膨胀和腐蚀并不互为逆运算,因此它们可以级连结合使用。在腐蚀和膨胀两个基本运算的基础上,可以构造出形态学运算族,它由膨胀和腐蚀两个运算的复合与集

18、合操作(并、交、补等)组合成的所有运算构成。例如,可先对图像进行腐蚀然后膨胀其结果,或先对图像进行膨胀然后腐蚀其结果(这里使用同一个结构元素)。前一种运算称为开运算(或开启),后一种运算称为闭运算(闭合)。开运算和闭运算是形态学运算族中两个最为重要的组合运算。第八章 数学形态学及其应用 对图像X及结构元素S,用符号XS表示S对图像X作开运算,用符号XS表示S对图像X作闭运算,它们的定义为 XS=(XS)S XS=(XS)S 由式(8-7)和式(8-8)可知,XS可视为对腐蚀图像XS用膨胀来进行恢复,而XS可看作是对膨胀图像XS用腐蚀来进行恢复。不过这一恢复不是信息无损的,即它们通常不等于原始图

19、像X。由开运算的定义式,可以推得(8-7)(8-8)(8-9)第八章 数学形态学及其应用 因而XS是所有X的与结构元素S全等的子集的并组成的。或者说,对XS中的每一个点x,均可找到某个包含在X中的结构元S的平移S+y,使得xS+y,即x在X的近旁具有不小于S的几何结构。而对于X中不能被XS恢复的点,其近旁的几何结构总比S要小。这一几何描述说明,XS是一个基于几何结构的滤波器。图8-10给出了两个开运算的例子,其中图8-10(a)是结构元素S1和S2,图8-10(b)是用S1对X进行开运算的结果,图8-10(c)是用S2对X进行开运算的结果。当使用圆盘结构元素时,开运算对边界进行了平滑,去掉了凸

20、角;当使用线段结构元素时,沿线段方向宽度较大的部分才能够被保留下来,而较小的凸部将被剔除。而XXS给出的是图像的凸出特征。可见,不同的结构元素的选择导致了不同的分割,即提取出不同的特征。第八章 数学形态学及其应用 图8-10 开运算去掉了凸角(a)结构元素S1和S2;(b)XS1;(c)XS2 第八章 数学形态学及其应用 开启和闭合不受原点是否在结构元素之中的影响。由腐蚀和膨胀的对偶性,可知(XCS)C=XS;(XCS)C=XS(8-10)开、闭变换也是一对对偶变换,因此,闭运算的几何意义可以由补集的开运算的几何意义导出。图8-11给出了两个闭运算的例子,其中,图8-11(a)是结构元素S1

21、和S2,图8-11(b)是用S1对X进行闭运算的结果,图8-11(c)是用S2对X进行闭运算的结果。可见,闭运算通过填充图像的凹角来平滑图像,而XSX给出的是图像的凹入特征。第八章 数学形态学及其应用 图8-11 闭运算填充了凹角(a)结构元素S1和S2;(b)XS1;(c)XS2 第八章 数学形态学及其应用 图8-12 开、闭运算示例(a)原图像;(b)结构元素S;(c)结构元素S腐蚀图像X;(d)结构元素S腐蚀X的结果;(e)对腐蚀的结构再膨胀;(f)再膨胀(开运算)的结果XS;(g)结构元素S膨胀X;(h)结构元素S膨胀X的结果XS;(i)对膨胀的结果再腐蚀;(j)再腐蚀的结果(闭运算)

22、XS 第八章 数学形态学及其应用 2.开闭运算的代数性质开闭运算的代数性质 由于开、闭运算是在腐蚀和膨胀运算的基础上定义的,根据腐蚀和膨胀运算的代数性质,我们不难得到下面的性质。1)对偶性(XCS)C=XS,(XCS)C=XS2)扩展性(收缩性)XSXXS即开运算恒使原图像缩小,而闭运算恒使原图像扩大 第八章 数学形态学及其应用 3)单调性 如果XY,则XSYS,XSYS 如果YZ且ZY=Z,那么XYX Z 根椐这一性质可以知道,结构元素的扩大只有在保证扩大后的结构元素对原结构元素开运算不变的条件下方能保持单调性。第八章 数学形态学及其应用 4)平移不变性(X+h)S=(XS)+h,(X+h)

23、S=(XS)+hX(S+h)=XS,X(S+h)=XS 5)等幂性(XS)S=XS,(XS)S=XS 开、闭运算的等幂性意味着一次滤波就能把所有特定结构元素的噪声滤除干净,作重复的运算不会再有效果。这是一个与经典方法(例如中值滤波、线性卷积)不同的性质。第八章 数学形态学及其应用 6)开、闭运算与集合的关系 在操作对象为多个图像的情况下,可借助集合的性质来进行开、闭运算,上述开、闭运算与集合的关系可用语言描述如下:(1)开运算与并集:并集的开运算包含了开运算的并集;(2)开运算与交集:交集的开运算包含在开运算的交集中;(3)闭运算与并集:并集的闭运算包含了闭运算的并集;(4)闭运算与交集:交集

24、的闭运算包含在闭运算的交集中。第八章 数学形态学及其应用 3.开运算的实现开运算的实现 根据上述理论,利用VC+可以编写一个实现开运算的函数Opening()。开运算相当于对图像先进行腐蚀运算再进行膨胀运算。/*/函数名称:BOOL Opening()/基本功能:本函数对CDibObject对象中的图像进行开运算/参数说明:int *nMask 结构元素数组指针/intnMaskLen结构元素长度(以点数为计数单位)/CDibObject*pDibObject输出图像数据指针/返回值:BOOL 成功返回TRUE,失败返回FALSE 第八章 数学形态学及其应用/*BOOL CMorphPro:O

25、pening(int*nMask,int nMaskLen,CDibObject*pDibObject)/对传入的CDibObject对象进行腐蚀 if(Erosion(nMask,nMaskLen,pDibObject)!=TRUE)return(FALSE);/对传入的CDibObject对象进行膨胀 if(Dilation(nMask,nMaskLen,pDibObject)!=TRUE)return(FALSE);return(TRUE);第八章 数学形态学及其应用 图8-13 开、闭运算效果示意图(a)原始图像;(b)开运算的结果;(c)闭运算的结果 (a)(b)(c)第八章 数学形

26、态学及其应用 4.闭运算的实现闭运算的实现 同样,根据上述理论,利用VC+可以编写一个实现闭运算的函数Closing()。闭运算相当于对图像先进行膨胀运算再进行腐蚀运算。/*/函数名称:BOOL Closing()/基本功能:本函数对CDibObject对象中的图像进行闭运算/参数说明:int *nMask 结构元素数组指针/intnMaskLen 结构元素长度(以点数为计数单位)第八章 数学形态学及其应用/CDibObject*pDibObject 输出图像数据指针/返回值:BOOL 成功返回TRUE,失败返回FALSE/*BOOL CMorphPro:Closing(int*nMask,i

27、nt nMaskLen,CDibObject*pDibObject)/对传入的CDibObject对象进行膨胀 if(Dilation(nMask,nMaskLen,pDibObject)!=TRUE)return(FALSE);/对传入的CDibObject对象进行腐蚀 if(Erosion(nMask,nMaskLen,pDibObject)!=TRUE)return(FALSE);return TRUE;第八章 数学形态学及其应用 8.2.4 击中击不中击中击不中(Hit/Miss)变换变换 在8.1.2节中曾经简单地给出了击中与击不中的概念,下面讨论击中与击不中的严格定义及其在数字图像

28、处理中的意义。一般来说,一个物体的结构可以由物体内部各种成分之间的关系来确定。为了研究物体(在这里指图像)的结构,可以逐个地利用其各种成分(例如各种结构元素)对其进行检验,判定哪些成分包括在图像内,哪些在图像外,从而最终确定图像的结构。击中/击不中变换就是在这个意义上提出的。设X是被研究的图像,S是结构元素,而且S由两个不相交的部分S1和S2组成,即S=S1S2,且S1S2=。于是,X被S“击中”(XS)的结果定义为(8-11)第八章 数学形态学及其应用 图8-14 X被S击中示意图(a)结构元素S=S1S2;(b)图像X;(c)X被S击中XS 第八章 数学形态学及其应用 击中运算还有另外一种

29、表达形式:式(8-12)表明,X被S击中的结果相当于X被S1腐蚀的结果与X被S2的反射集S2V膨胀的结果之差。图8-15解释了这一过程。由此可见,击中运算也可以借助于腐蚀、膨胀两基本运算来实现。第八章 数学形态学及其应用 8-15第八章 数学形态学及其应用 下面,进一步来讨论击中运算的含义。在图8-15中,如果S中不包含S2,那么XS与XS1相同,共包括6个点。这表明X被S腐蚀后还剩6个点,就是说,X中共包含6个形如S1的结构元素,它们的原点位置构成XS。但将S2加入S后,相当于对XS增加了一个条件:不仅要从X中找出那些形如S1的部分,而且要去掉那些在左边有一个邻点的部分。这样一来,在X中只剩

30、下两部分(方框内)满足要求的结构元素,它们的原点位置构成了最终的XS。第八章 数学形态学及其应用 由此可见,击中运算相当于一种条件比较严格的模板匹配,它不仅指出被匹配点所应满足的性质即模板的形状,同时也指出这些点所不应满足的性质,即对周围环境背景的要求。击中/击不中变换可以用于保持拓扑结构的形状细化,以及形状识别和定位。设有一个模板形状(集合)A,对给定的图像X,假定X中有包括A在内的多个不同物体。我们的目的是识别和定位其中的A物体。此时,取一个比A稍大的集合S作为结构元素并且使A不与S的边缘相交,令S1=A且S2=S-A,S2为“包围”A或B1的外接边框,此时称S1、S2为一个结构元素对,简

31、称结构对,记为(S1,S2),那么X(S1,S2)将给出且仅给出所有X中与A误差在设定范围内的物体的位置。图8-16描述了一个字符识别的示例。第八章 数学形态学及其应用 图8-16 用击中/击不中变换识别字符(a)结构元素S;(b)图像X;(c)X(S1,S2)第八章 数学形态学及其应用 8.3 灰值形态学灰值形态学 8.3.1 灰值腐蚀灰值腐蚀 用结构元素b对输入图像f(x,y)进行灰值腐蚀记为fb,其定义为(fb)(s,t)=minf(s+x,t+y)-b(x,y)s+x,t+yDf,x+yDb(8-13)式中,Df和Db分别是f和b的定义域。这里限制(s+x)和(t+y)在f的定义域之内

32、,类似于二值腐蚀定义中要求结构元素完全包括在被腐蚀集合中。第八章 数学形态学及其应用 为简单起见,下面用一维函数来简单介绍式(8-13)的含义和运算操作机理。用一维函数时,式(8-13)可简化为(fb)(s)=minf(s+x)-b(x)|s+x Df,x+yDb(8-14)如同在相关计算中,对正的s,f(s+x)移向右边,对负的s,f(s+x)移向左边。要求(s+x)在f的定义域内并要求x的值在b的定义域内,是为了把b完全包含在f的平移范围内。第八章 数学形态学及其应用 图8-17 灰值腐蚀示意图(a)图像f;(b)结构元素b;(c)用结构元素b对f腐蚀;(d)用结构元素b对f腐蚀的结果 第

33、八章 数学形态学及其应用 图8-18 灰值腐蚀与膨胀前后的图像(a)原始图像;(b)灰值腐蚀后的图像;(c)灰度膨胀后的图像 第八章 数学形态学及其应用 腐蚀的计算是在由结构元素确定的邻域中选取fb的最小值,因此,对灰值图像的腐蚀操作有两类效果:如果结构元素的值都为正的,则输出图像会比输入图像暗;如果输入图像中亮细节的尺寸比结构元素小,则其影响会被减弱,减弱的程度取决于这些亮细节周围的灰度值和结构元素的形状和幅值。第八章 数学形态学及其应用 8.3.2 灰值膨胀灰值膨胀 用结构元素b对输入图像f(x,y)进行灰值膨胀记为fb,其定义为(fb)(s,t)=maxf(s-x,t-y)+b(x,y)

34、|s-x,t-y Df,x+yDb(8-15)式中,Df和Db分别是f和b的定义域。这里限制(s-x)和(t-y)在f的定义域之内,类似于在二值膨胀定义中要求两个运算集合至少有一个(非零)元素相交。式(8-15)与二维离散函数的卷积的形式很类似,区别是式(8-15)用max(最大)替换了卷积的求和,用加法替换了卷积的相乘。第八章 数学形态学及其应用 为简单起见,下面用一维函数来简单介绍式(8-15)的含义和运算操作机理。用一维函数时,式(8-15)可简化为(fb)(s)=maxf(s-x)+b(x)|s-x Df,xDb (8-16)和卷积相似,f(-x)是对应x轴原点的映射。对正的s,f(s

35、-x)移向右边,对负的s,f(s-x)移向左边。要求(s-x)在f的定义域内并要求x的值在b的定义域内,是为了使f和b的交集非空(有相重合部分)。第八章 数学形态学及其应用 注意,与8.2.2节中介绍二值膨胀时不同的是,在式(8-15)和式(8-16)里是让f而不是让b反转平移。这是因为膨胀具有互换性,而腐蚀不具有互换性。为了让膨胀和腐蚀的表达形式互相对应,采用了式(8-15)和式(8-16)的表示,但由图8-19中的例子可以看出,如果让b反转平移进行膨胀,其结果也完全一样。膨胀的计算是在由结构元素确定的邻域中选取fb的最大值,因此对灰值图像的膨胀操作有两类效果:如果结构元素的值都为正的,则输

36、出图像会比输入图像亮;根据输入图像中暗细节的灰度值以及它们的形状相对于结构元素的关系,它们在膨胀中或被消减或被除掉。第八章 数学形态学及其应用 图8-19 灰值膨胀示意图(a)灰度膨胀过程;(b)灰度膨胀结果 第八章 数学形态学及其应用 下面简单介绍膨胀和腐蚀的对偶性。膨胀和腐蚀相对于函数的补(补函数)和反射也是对偶的,对偶关系为(8-17)(8-18)这里函数的补定义为fC(x,y)=-f(x,y),而函数的反射定义为bV(x,y)=b(-x,-y)。第八章 数学形态学及其应用 8.3.3 灰值开、灰值开、闭运算闭运算 数学形态学中关于灰值开和闭运算的定义与它们在二值数学形态学中的对应运算是

37、一致的。用结构元素b(灰值图像)对灰值图像f做开运算记为f b,其定义为 fb=(fb)b (8-19)用结构元素b(灰值图像)对灰值图像f做闭运算记为fb,其定义为 fb=(fb)b(8-20)第八章 数学形态学及其应用 开、闭运算相对于函数的补和反射也是对偶的,对偶关系可写为(fb)C=(fCbV)(8-21)(fb)C=(fCbV)(8-22)因为f(x,y)=-f(x,y),所以式(8-21)和式(8-22)可写为 -(fb)=(-fCbV)(8-23)-(fb)=(-fbV)(8-24)第八章 数学形态学及其应用 灰值开、闭运算也有简单的几何解释,如图8-20所示。在图(a)中,给出

38、了一幅图像f(x,y)在y为常数时的一个剖面f(x),其形状为一连串的山峰山谷。假设结构元素b是球状的,投影到x和f(x)平面上是个圆。下面分别讨论开、闭运算的情况。用b对f 做开运算,即fb,可看作将b贴着f 的下沿从一端滚到另一端。图8-20(b)给出了b在开运算中的几个位置,图8-20(c)给出了开运算操作的结果。从图8-20(c)可看出,对所有比b的直径小的山峰其高度和尖锐度都减弱了。换句话说,当b贴着f 的下沿滚动时,f 中没有与b接触的部位都削减到与b接触。实际中常用开运算操作消除与结构元素相比尺寸较小的亮细节,而保持图像整体灰度值和大的亮区域基本不受影响。具体地说就是,第一步的腐

39、蚀去除了小的亮细节并同时减弱了图像亮度,第二步的膨胀增加了图像亮度,但又不重新引入前面去除的细节。第八章 数学形态学及其应用 图8-20 灰值开、闭运算示意图 第八章 数学形态学及其应用 用b对f做闭运算,即fb,可看作将b贴着f 的上沿从一端滚到另一端。图8-20(d)给出了b在闭运算操作中的几个位置,图8-20(e)给出了闭运算操作的结果。从图8-20(e)可看出,山峰基本没有变化,而所有比b的直径小的山谷得到了“填充”。换句话说,当b贴着f 的上沿滚动时,f 中没有与b接触的部位都得到“填充”,使其与b接触。实际中常用闭运算操作消除与结构元素相比尺寸较小的暗细节,而保持图像整体灰度值和大

40、的暗区域基本不受影响。具体说来,第一步的膨胀去除了小的暗细节并同时增强了图像亮度,第二步的腐蚀减弱了图像亮度但又不重新引入前面去除的细节。第八章 数学形态学及其应用 图8-21 灰值开闭运算实例(a)开运算的结果;(b)闭运算的结果 第八章 数学形态学及其应用 利用最大最小值运算也可以把数学形态学的运算规则从二值图像推广到灰值图像。为此下面引入集合的顶面(Top surface of a set,简写为T)和阴影(Umbra of a surface,简写为U)的概念。为了易于表达,先考虑在空间平面xOy上的一个区域A,如图8-22所示。把A向x轴投影,可得xmin和xmax。对属于A的每个点

41、(x,y)来说,都有y=f(x)成立。对A来说,它在平面xOy上有一条顶线T(A),也就是A的上边缘T(A),它可表示为(8-26)第八章 数学形态学及其应用 第八章 数学形态学及其应用 把T(A)向X轴投影得到F。在T(A)与F之间的阴影就是U(A),阴影U(A)也包括区域A。以上讨论可以方便地推广到空间Oxyz中去。一个二维灰值图像对应于Oxyz上的一个体积V,它有一个顶面T(V),也就是V的上曲面。类似于式(8-25),这个顶面可以写为(8-26)第八章 数学形态学及其应用 根据灰值图像的顶面和阴影的定义,如果把U(V)以内当作“黑”区,U(V)以外当作“白”区,就可以把二值图像中的几个

42、形态学运算符加以引申,用到灰值图像中。如用f 表示灰值图像,用b表示灰值结构元素,则将用b对f 的腐蚀和膨胀分别定义为(8-27)(8-28)按照开、闭运算的定义,它们的实现可以参照腐蚀与膨胀的算法给出,即对于开运算先腐蚀然后再膨胀,对闭运算先膨胀然后再腐蚀。第八章 数学形态学及其应用 8.4 形态学的应用形态学的应用 8.4.1 形态学滤波形态学滤波 由于开、闭运算所处理的信息分别与图像的凸、凹处相关,因此,它们本身都是单边算子,可以利用开、闭运算去除图像的噪声、恢复图像,也可交替使用开、闭运算以达到双边滤波目的。一般,可以将开、闭运算结合起来构成形态学噪声滤波器,例如(XS)S或(XS)S

43、等。第八章 数学形态学及其应用 图8-23给出消除噪声的一个图例。图8-23(a)包括一个长方形的目标X,由于噪声的影响在目标内部有一些噪声孔而在目标周围有一些噪声块。现在用图8-23(b)所示的结构元素S通过形态学操作来滤除噪声,这里的结构元素应当比所有的噪声孔和块都要大。先用S对X进行腐蚀得到图8-23(c),再用S对腐蚀结果进行膨胀得到图8-23(d),这两个操作的串行结合就是开运算,它将目标周围的噪声块消除掉了。再用S对图8-23(d)进行一次膨胀得到图8-23(e),然后用S对膨胀结果进行腐蚀得到图8-23(f),这两个操作的串行结合就是闭运算,它将目标内部的噪声孔消除掉了。整个过程

44、是先做开运算再做闭运算,可以写为 (8-29)第八章 数学形态学及其应用 图8-23 形态学滤波示意图 第八章 数学形态学及其应用 比较图8-23(a)和(f),可看出目标区域内外的噪声都消除掉了,而目标本身除原来的4个直角变为圆角外没有太大的变化。在利用开、闭运算滤除图像的噪声时,选择圆形结构元素会得到较好的结果。为了能使从噪声污染的图像X中恢复原始图像X0的结果达到最优,在确定结构元素的半径时,可以采用优化方法。为了达到这一目的,可将图像和噪声视为随机过程,通过统计优化分析得到优化结果。第八章 数学形态学及其应用 相似的方法也可以应用于灰值图像处理。灰值开运算可用于过滤最大噪声(高亮度噪声

45、),因为被滤掉的噪声位于信号的上方。如果将图8-20信号上方的尖峰视为噪声,那么,灰值开运算后可得到很好的滤波效果,如图8-20(c)所示。根据对偶性,闭运算可以滤掉信号下方的噪声尖峰。图8-20(d)给出了利用圆形结构元素进行灰值闭滤波的结果。与二值情况相似,可以利用适当的结构元素进行开-闭滤波,并且适当地选择结构元素的尺寸是非常关键的。此外,如果信号中还混杂有不同尺寸的噪声脉冲,并且噪声之间并没有很好地分离,那么,可以选用一种交变序列滤波器,这种滤波器使用逐渐增加宽度的结构元素交替地做灰值开、闭运算。在一般情况下,噪声往往由信号上下凸起的尖峰组成。只要这些噪声是很好分离的,就可以利用开运算

46、和闭运算的迭代运算或闭运算和开运算的迭代运算将其消除。第八章 数学形态学及其应用 8.4.2 骨架抽取骨架抽取 把一个平面区域简化成图(Graph)是一种重要的结构形状表示法。利用细化技术得到区域的细化结构是常用的方法。因此,寻找二值图像的细化结构是图像处理的一个基本问题。在图像识别或数据压缩时,经常要用到这样的细化结构,例如,在识别字符之前,往往要先对字符作细化处理,求出字符的细化结构。骨架便是这样的一种细化结构,它是目标的重要拓扑描述,具有非常广泛的应用。第八章 数学形态学及其应用 下面首先对数字图像细化概念做简要介绍。许多数学形态学算法都依赖于击中/击不中变换。其中数字图像细化,便是一种

47、最常见的使用击中/击不中变换的形态学算法。对于结构对B=(B1,B2),利用B细化X定义为 即XB为X与XB的差集。更一般地,利用结构对序列B1,B2,BN迭代地产生输出序列(8-30)(8-31)或者 i=1,2,N(8-32)第八章 数学形态学及其应用 随着迭代的进行,得到的集合也不断细化。假设输入集合是有限的(即N为有限),最终将得到一个细化的图像。结构对的选择仅受结构元素不相交的限制。事实上,每一个Bi(i=1,2,N)都可以是相同的结构对,即在不断重复的迭代细化过程使用同一个结构对。在实际应用中,通常选择一组结构元素对,迭代过程不断在这些结构对中循环,当一个完整的循环结束时,如果所得

48、结果不再变化,则终止迭代过程。第八章 数学形态学及其应用 骨架还可以用中轴表示。设想在时刻,将目标边界各处同时点燃,火的前沿以匀速向目标内部蔓延,当前沿相交时火焰熄灭,火焰熄灭点的集合就构成了中轴。图8-24(a)是这个过程的图示。另外一种定义骨架的方法使用了最大圆盘概念:目标X的骨架由X内所有最大内切圆盘的圆心组成,如图8-24(b)、(c)所示。最大圆盘不是其他任何完全属于X的圆盘的子集,并且至少有两点与目标边界轮廓相切。骨架的每个点都对应一个相应的最大圆盘和半径r。最大圆盘定义的骨架与火种方式定义的骨架除在某些特殊情况下端点处存在差异外,绝大多数情况下都是一致的。第八章 数学形态学及其应

49、用 图8-24 骨架的定义 第八章 数学形态学及其应用 按照最大圆盘定义骨架的方式,在欧氏二值图像的内部任意给定一点,如果以该点为圆心存在一个最大圆盘,其整个盘体都在图像的内部,且至少有两点与目标边界相切,则该点便是骨架上的点。所有最大圆盘的圆心构成了图像的骨架(中轴)。对于图像X,一般用S(X)表示其骨架。注意,不同的图像可能有相同的骨架。骨架对噪声非常敏感,而且连通的集合可能具有不连通的骨架(例如两个相切圆盘的骨架)。第八章 数学形态学及其应用 数字骨架可以从形态学的角度进行定义。对于k0,1,2,定义骨架子集Sk(X)为图像X内所有最大圆盘kB的圆心x构成的集合。从骨架的定义可知,骨架是

50、所有骨架子集的并,即 S(X)=Sk(X)|k0,1,2,(8-33)可以证明骨架子集为Sk(X)=(XkB)-(X k)式中,B为结构元素,(X kB)代表连续k次用B对X腐蚀,即(X kB)=((X))。由此式和式(8-33)可得 S(X)=(XkB)-(XkB)|k0,1,2,(8-34)第八章 数学形态学及其应用 这就是骨架的形态学表示,它也是用数学形态学方法提取图像骨架技术的依据。对于给定的图像X以及结构元素,(Xk)可以将X腐蚀为空集,如果用N表示(Xk)运算将X腐蚀成空集前的最后一次迭代次数,即 N=maxk|(XkB),则式(8-34)可以写为(8-35)相反,图像X也可以用S

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com