收藏 分销(赏)

第八章-数学形态学及其应用省名师优质课赛课获奖课件市赛课一等奖课件.ppt

上传人:快乐****生活 文档编号:10262517 上传时间:2025-05-06 格式:PPT 页数:112 大小:1.24MB
下载 相关 举报
第八章-数学形态学及其应用省名师优质课赛课获奖课件市赛课一等奖课件.ppt_第1页
第1页 / 共112页
第八章-数学形态学及其应用省名师优质课赛课获奖课件市赛课一等奖课件.ppt_第2页
第2页 / 共112页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,本资料仅供参考,不能作为科学依据。谢谢,第八章 数学形态学及其应用,8.1 引言,8.2 二值形态学,8.3 灰值形态学,8.4 形态学应用,8.5 应用实例细化,第1页,8.1 引 言,8.1.1 数学形态学,数学形态学(Mathematical Morphology)诞生于1964年,是由法国巴黎矿业学院博士生赛拉(J.Serra)和导师马瑟荣,在从事铁矿核定量岩石学分析及预测其开采价值研究中提出“击中/击不中变换”,并在理论层面上第一次引入了形态学表示式,建立了颗粒分析方法。他们工作奠定了这门学科理论基础,如击中/击不中变换、开闭运算、布尔模型及纹理分析器原型等。数学形态学基本思想是用含有一定形态结构元素去量度和提取图像中对应形状以到达对图像分析和识别目标。,第2页,数学形态学数学基础和所用语言是集合论,所以它含有完备数学基础,这为形态学用于图像分析和处理、形态滤波器特征分析和系统设计奠定了坚实基础。数学形态学应用能够简化图像数据,保持它们基本形状特征,并除去不相干结构。数学形态学算法含有天然并行实现结构,实现了形态学分析和处理算法并行,大大提升了图像分析和处理速度。,第3页,数学形态学是由一组形态学代数运算子组成,它基本运算有4个:膨胀(或扩张)、腐蚀(或侵蚀)、开启和闭合,它们在二值图像和灰度图像中各有特点。基于这些基本运算还可推导和组合成各种数学形态学实用算法,用它们能够进行图像形状和结构分析及处理,包含图像分割、特征抽取、边界检测、图像滤波、图像增强和恢复等。数学形态学方法利用一个称作结构元素“探针”搜集图像信息,当探针在图像中不停移动时,便可考查图像各个部分之间相互关系,从而了解图像结构特征。数学形态学基于探测思想,与人FOA(Focus Of Attention)视觉特点有类似之处。作为探针结构元素,可直接携带知识(形态、大小、甚至加入灰度和色度信息)来探测、研究图像结构特点。,第4页,数学形态学基本思想及方法适合用于与图像处理相关各个方面,如基于击中/击不中变换目标识别,基于流域概念图像分割,基于腐蚀和开运算骨架抽取及图像编码压缩,基于测地距离图像重建,基于形态学滤波器颗粒分析等。迄今为止,还没有一个方法能像数学形态学那样现有坚实理论基础,简练、朴素、统一基本思想,又有如此广泛实用价值。有些人称数学形态学在理论上是严谨,在基本观念上却是简单和优美。,第5页,数学形态学是一门建立在严格数学理论基础上学科,其基本思想和方法对图像处理理论和技术产生了重大影响。实际上,数学形态学已经组成一个新图像处理方法和理论,成为计算机数字图像处理一个主要研究领域,而且已经应用在多门学科数字图像分析和处理过程中。这门学科在计算机文字识别,计算机显微图像分析(如定量金相分析,颗粒分析),医学图像处理(比如细胞检测、心脏运动过程研究、脊椎骨癌图像自动数量描述),图像编码压缩,工业检测(如食品检验和印刷电路自动检测),材料科学,机器人视觉,汽车运动情况监测等方面都取得了非常成功应用。另外,数学形态学在指纹检测、经济地理、合成音乐和断层X光照像等领域也有良好应用前景。形态学方法已成为图像应用领域工程技术人员必备工具。当前,相关数学形态学技术和应用正在不停地研究和发展。,第6页,8.1.2 基本符号和术语,1.元素和集合,在数字图像处理数学形态学运算中,把一幅图像称为一个集合。对于二值图像而言,习惯上认为取值为1点对应于景物中心,用阴影表示,而取值为0点组成背景,用白色表示,这类图像集合是直接表示。考虑全部值为1点集合为A,则A与图像是一一对应。对于一幅图像A,假如点a在A区域以内,那么就说a是A元素,记为,a,A,不然,记作,a,A,如图81(a)所表示。,第7页,图8-1 元素与集合间关系,第8页,2.交集、并集和补集,两个图像集合A和B公共点组成集合称为两个集合交集,记为AB,即AB=,a,a,A且,a,B,。两个集合A和B全部元素组成集合称为两个集合并集,记为,A,B,,即,A,B,=,a,a,A,或,a,B,。对一幅图像,A,,在图像,A,区域以外全部点组成集合称为,A,补集,记为,A,C,,即,A,C,=,a,a,A,。,交集、并集和补集运算是集合最基本运算,如图8-2所表示。,第9页,图8-2 集合交集、并集和补集,第10页,3.击中(Hit)与击不中(Miss),设有两幅图像,A,和,B,,假如AB,那么称,B,击中,A,,记为,B,A,,其中是空集合符号;不然,假如,A,B,=,那么称,B,击不中,A,,如图8-3所表示。,图8-3 击中与击不中,(a),B,击中,A,;(b),B,击不中,A,第11页,4.平移和反射,设A是一幅数字图像(见图8-4(,a,)),,b,是一个点(见图8-4(,b,)),那么定义,A,被,b,平移后结果为,A,b,a,b,|,a,A,,即取出,A,中每个点,a,坐标值,将其与点,b,坐标值相加,得到一个新点坐标值,a,+,b,,全部这些新点所组成图像就是A被b平移结果,记为,A,+,b,,如图8-4(c)所表示。,第12页,图8-4 平移与反射,第13页,5.目标和结构元素,被处理图像称为目标图像,普通用大写英文字母表示。为了确定目标图像结构,必须逐一考查图像各部分之间关系,而且进行检验,最终得到一个各部分之间关系集合。,在考查目标图像各部分之间关系时,需要设计一个搜集信息“探针”,称为“结构元素”。“结构元素”普通用大写英文字母表示,比如用,S,表示。在图像中不停移动结构元素,就能够考查图像之间各部分关系。普通,结构元素尺寸要显著小于目标图像尺寸。,第14页,8.2 二值形态学,二值形态学中运算对象是集合。设A为图像集合,S为结构元素,数学形态学运算是用S对A进行操作。需要指出,实际上结构元素本身也是一个图像集合。对每个结构元素能够指定一个原点,它是结构元素参加形态学运算参考点。应注意,原点能够包含在结构元素中,也能够不包含在结构元素中,但运算结果常不相同。以下用阴影代表值为1区域,白色代表值为0区域,运算是对值为1区域进行。二值形态学中两个最基本运算腐蚀与膨胀,如图8-5所表示。,第15页,图8-5 腐蚀与膨胀示意图,第16页,8.2.1 腐蚀,腐蚀是最基本一个数学形态学运算。对一个给定目标图像,X,和一个结构元素,S,,想象一下将,S,在图像上移动。在每一个当前位置x,S+x只有三种可能状态(见图8-6):,(1),S,+,x,X,;,(2),S,+,x,X,C,;,(3),S,+,x,X,与,S,+,x,X,C,均不为空。,第17页,图8-6,S,+,x,三种可能状态,第18页,第一个情形说明,S,+,x,与,X,相关最大,第二种情形说明S+x与X不相关,而第三种情形说明,S,+,x,与,X,只是部分相关。因而满足式(8-1)点x全体组成结构元素与图像最大相关点集,这个点集称为S对,X,腐蚀(简称腐蚀,有时也称,X,用,S,腐蚀),记为,X,S,。,腐蚀也能够用集合方式定义,即,式(8-2)表明,,X,用,S,腐蚀结果是全部使,S,平移,x,后仍在,X,中,x,集合。换句话说,用,S,来腐蚀,X,得到集合是,S,完全包含在,X,中时,S,原点位置集合。上式也能够帮助我们借助相关概念来了解腐蚀操作。,(8-2),第19页,式(8-2)表明,,X,用,S,腐蚀结果是全部使,S,平移,x,后仍在,X,中,x,集合。换句话说,用,S,来腐蚀,X,得到集合是,S,完全包含在,X,中时,S,原点位置集合。上式也能够帮助我们借助相关概念来了解腐蚀操作。,腐蚀在数学形态学运算中作用是消除物体边界点。假如结构元素取33像素块,腐蚀将使物体边界沿周围降低一个像素。腐蚀能够把小于结构元素物体(毛刺、小凸起)去除,这么选取不一样大小结构元素,就能够在原图像中去掉不一样大小物体。假如两个物体之间有细小连通,那么当结构元素足够大时,经过腐蚀运算能够将两个物体分开。,第20页,例8-1,腐蚀运算图解。图8-7给出腐蚀运算一个简单示例。其中,图8-7(a)中阴影部分为集合X,图8-7(b)中阴影部分为结构元素S,而图(c)中黑色部分给出了XS 结果。由图可见,腐蚀将图像(区域)收缩小了。,图8-7 腐蚀运算示例,第21页,(,a,),(,b,),(,c,),第22页,(8-3),假如S包含了原点,即OS,那么XS将是X一个收缩,即XSX(当OS时);假如S不包含原点,那么XSX未必成立。假如结构元素S关于原点O是对称,那么S=S,V,,所以,X S=XS,V,不过,假如,S,关于原点,O,不是对称,那么,X,被,S,腐蚀结果与,X,被,S,V,腐蚀结果是不一样。,利用腐蚀运算定义式能够直接设计腐蚀变换算法。但有时为了更方便,常使用腐蚀另一个表示式,即,第23页,式(8-3)可从定义式(8-2)中推出,它把腐蚀表示为图像平移交,这在一些并行处理环境中尤其有用。图8-8给出了一个例子。,图8-8 腐蚀表示为图像平移交,第24页,依据上述理论,利用VC+能够编写一个实现腐蚀运算函数MakeErosion()。,/*,/函数名称:BOOL MakeErosion(),/基本功效:本函数对图像数据执行腐蚀操作,/参数说明:,/int *nMask 结构元素数组指针,/int nMaskLen结构元素长度(以点数为计数单位),/unsigned char*pOut输出图像数据指针,/unsigned char*pIn输入图像数据指针,/intnWidthBytes图像宽度(以字节表示),/intnWidth图像宽度(以像素表示),第25页,/intnHeight图像高度(以像素表示),/返回值:BOOL 成功返回TRUE,失败返回FALSE,/*,BOOL CMorphPro:MakeErosion(int*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;,/执行腐蚀操作,第26页,for(y=0;y nHeight;y+),unsigned char*pOutTemp=pOut;,pOutTemp+=y*nWidthBytes;,for(x=0;x nWidth;x+),Mark=1;,for(k=0;k=0)&,(x+nMask2*k=0)&,(y+nMask2*k+1GetWidth();,int nHeight=m_pDibObject-GetHeight();,int nWidthBytes=m_pDibObject-WidthBytes(8,nWidth);,/图像数据区大小,DWORD dwSize=nWidthBytes*nHeight;,/取得图像数据区指针,unsigned char*pOldBuffer=GetBitsPoint();,第31页,/为新图像分配内存,/新图像数据指针,unsigned char*pNewBuffer=(unsigned char*):GlobalLock(hNewDib);,/将原图像数据移动到新图像中(原图像数据清零),MoveBuffer(pNewBuffer,pOldBuffer,(LONG)dwSize);,/调用MakeErosion()保护型函数进行腐蚀操作,MakeErosion(nMask,nMaskLen,pOldBuffer,pNewBuffer,nWidthBytes,nWidth,nHeight);,/将内存解锁以及将不再使用内存释放,return(TRUE);,第32页,图8-9 用33结构元素进行腐蚀,(a)原始二值图像;(b)33结构元素;(c)腐蚀结果,(a),(b),(c),何东键,腐蚀与膨胀可砖能名称标反了,第33页,8.2.2 膨胀,腐蚀能够看作是将图像,X,中每一与结构元素,S,全等子集,S,+,x,收缩为点,x,。反之,也能够将,X,中每一个点,x,扩大为,S+x,,这就是膨胀运算,记为,X,S,。若用集合语言,它定义为,XS,=,x,|,S,+,x,x,与式(8-4)等价膨胀运算定义形式还有:,(1)XS=X+s|sS (8-5),(2)XS=S+x|xX(8-6),(8-4),第34页,式(8-4)和式(8-5)在算法设计中更有用些,而式(8-6)便于刻画算法几何特征。,从式(8-4)可知,腐蚀和膨胀运算对集合运算分配律只有在特定情况下才能成立,所以在应用时应注意。另外,用腐蚀和膨胀运算还能够实现图像平移。假如在自定义结构元素时选择不在原点一个点作为结构元素,则得到图像形状没有任何改变,只是位置发生了移动。,仿照MakeErosion()函数,能够编写一个MakeDilation()函数进行膨胀运算,与腐蚀类似,由Dilation()调用MakeDilation()函数来实现膨胀运算。,第35页,8.2.3 开、闭运算,1.基本概念,假如结构元素为一个圆盘,那么,膨胀可填充图像中小孔(比结构元素小孔洞)及图像边缘处小凹陷部分,而腐蚀能够消除图像边缘小成份,并将图像缩小,从而使其补集扩大。不过,膨胀和腐蚀并不互为逆运算,所以它们能够级连结合使用。在腐蚀和膨胀两个基本运算基础上,能够结构出形态学运算族,它由膨胀和腐蚀两个运算复合与集合操作(并、交、补等)组合成全部运算组成。比如,可先对图像进行腐蚀然后膨胀其结果,或先对图像进行膨胀然后腐蚀其结果(这里使用同一个结构元素)。前一个运算称为开运算(或开启),后一个运算称为闭运算(闭合)。开运算和闭运算是形态学运算族中两个最为主要组合运算。,第36页,对图像,X,及结构元素,S,,用符号,X,S,表示,S,对图像,X,作开运算,用符号,X,S,表示,S,对图像,X,作闭运算,它们定义为,X,S,=(,X,S,),S,X,S,=(,X,S,),S,由式(8-7)和式(8-8)可知,,X,S,可视为对腐蚀图像,X,S,用膨胀来进行恢复,而,X,S,可看作是对膨胀图像,X,S,用腐蚀来进行恢复。不过这一恢复不是信息无损,即它们通常不等于原始图像,X,。由开运算定义式,能够推得,(8-7),(8-8),(8-9),第37页,因而,X,S,是全部X与结构元素,S,全等子集并组成。或者说,对,X,S,中每一个点,x,,均可找到某个包含在,X,中结构元,S,平移,S,+,y,,使得,x,S,+,y,,即,x,在,X,近旁含有大于,S,几何结构。而对于,X,中不能被,X,S,恢复点,其近旁几何结构总比,S,要小。这一几何描述说明,,X,S,是一个基于几何结构滤波器。图8-10给出了两个开运算例子,其中图8-10(a)是结构元素,S,1,和,S,2,,图8-10(,b,)是用,S,1,对,X,进行开运算结果,图8-10(c)是用,S,2,对,X,进行开运算结果。当使用圆盘结构元素时,开运算对边界进行了平滑,去掉了凸角;当使用线段结构元素时,沿线段方向宽度较大部分才能够被保留下来,而较小凸部将被剔除。而,X,X,S,给出是图像凸出特征。可见,不一样结构元素选择造成了不一样分割,即提取出不一样特征。,第38页,图8-10 开运算去掉了凸角,(a)结构元素,S,1,和,S,2,;(b),X,S,1,;(c),X,S,2,第39页,开启和闭合不受原点是否在结构元素之中影响。,由腐蚀和膨胀对偶性,可知,(,X,C,S,),C,=,X,S,;,(,X,C,S,),C,=,X,S,(8-10),开、闭变换也是一对对偶变换,所以,闭运算几何意义能够由补集开运算几何意义导出。图8-11给出了两个闭运算例子,其中,图8-11(,a,)是结构元素,S,1,和,S,2,,图8-11(,b,)是用,S,1,对,X,进行闭运算结果,图8-11(,c,)是用,S,2,对,X,进行闭运算结果。可见,闭运算经过填充图像凹角来平滑图像,而,X,S,X,给出是图像凹入特征。,第40页,图8-11 闭运算填充了凹角,(a)结构元素,S,1,和,S,2,;(b),X,S,1,;(c),X,S,2,第41页,图8-12 开、闭运算示例,(a)原图像;,(b)结构元素S;,(c)结构元素S腐蚀图像X;,(d)结构元素S腐蚀X结果;,(e)对腐蚀结构再膨胀;,(f)再膨胀(开运算)结果XS;,(g)结构元素S膨胀X;,(h)结构元素S膨胀X结果XS;,(i)对膨胀结果再腐蚀;,(j)再腐蚀结果(闭运算)XS,第42页,2.开闭运算代数性质,因为开、闭运算是在腐蚀和膨胀运算基础上定义,依据腐蚀和膨胀运算代数性质,我们不难得到下面性质。,1)对偶性,(,X,C,S,),C,=,X,S,,(,X,C,S,),C,=,X,S,2)扩展性(收缩性),X,S,XX,S,即开运算恒使原图像缩小,而闭运算恒使原图像扩大,第43页,3)单调性,假如,XY,,则,X,S,Y,S,,,X,S,Y,S,假如,Y,Z,且Z,Y,=Z,那么,X,Y,X,Z,根椐这一性质能够知道,结构元素扩大只有在确保扩大后结构元素对原结构元素开运算不变条件下方能保持单调性。,第44页,4)平移不变性,(,X,+,h,),S,=(,X,S,)+,h,,(,X,+,h,),S,=(,X,S,)+,h,X,(,S,+,h,)=,X,S,,,X,(,S,+,h,)=,X,S,5)等幂性,(,X,S,),S,=,X,S,,(,X,S,),S,=,X,S,开、闭运算等幂性意味着一次滤波就能把全部特定结构元素噪声滤除洁净,作重复运算不会再有效果。这是一个与经典方法(比如中值滤波、线性卷积)不一样性质。,第45页,6)开、闭运算与集合关系,在操作对象为多个图像情况下,可借助集合性质来进行开、闭运算,上述开、闭运算与集合关系可用语言描述以下:,(1)开运算与并集:并集开运算包含了开运算并集;,(2)开运算与交集:交集开运算包含在开运算交集中;,(3)闭运算与并集:并集闭运算包含了闭运算并集;,(4)闭运算与交集:交集闭运算包含在闭运算交集中。,第46页,3.开运算实现,依据上述理论,利用VC+能够编写一个实现开运算函数Opening()。开运算相当于对图像先进行腐蚀运算再进行膨胀运算。,/*,/函数名称:BOOL Opening(),/基本功效:本函数对CDibObject对象中图像进行开运算,/参数说明:int *nMask 结构元素数组指针,/intnMaskLen结构元素长度(以点数为计数单位),/CDibObject*pDibObject输出图像数据指针,/返回值:BOOL 成功返回TRUE,失败返回FALSE,第47页,/*,BOOL CMorphPro:Opening(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);,第48页,图8-13 开、闭运算效果示意图,(a)原始图像;(b)开运算结果;(c)闭运算结果,(a)(b)(c),第49页,第50页,4.闭运算实现,一样,依据上述理论,利用VC+能够编写一个实现闭运算函数Closing()。闭运算相当于对图像先进行膨胀运算再进行腐蚀运算。,/*,/函数名称:BOOL Closing(),/基本功效:本函数对CDibObject对象中图像进行闭运算,/参数说明:int *nMask 结构元素数组指针,/intnMaskLen 结构元素长度(以点数为计数单位),第51页,/CDibObject*pDibObject 输出图像数据指针,/返回值:BOOL 成功返回TRUE,失败返回FALSE,/*,BOOL CMorphPro:Closing(int*nMask,int nMaskLen,CDibObject*pDibObject),/对传入CDibObject对象进行膨胀,if(Dilation(nMask,nMaskLen,pDibObject)!=TRUE)return(FALSE);,/对传入CDibObject对象进行腐蚀,if(Erosion(nMask,nMaskLen,pDibObject)!=TRUE)return(FALSE);,return TRUE;,第52页,8.2.4 击中击不中(Hit/Miss)变换,在8.1.2节中曾经简单地给出了击中与击不中概念,下面讨论击中与击不中严格定义及其在数字图像处理中意义。普通来说,一个物体结构能够由物体内部各种成份之间关系来确定。为了研究物体(在这里指图像)结构,能够逐一地利用其各种成份(比如各种结构元素)对其进行检验,判定哪些成份包含在图像内,哪些在图像外,从而最终确定图像结构。击中/击不中变换就是在这个意义上提出。设,X,是被研究图像,,S,是结构元素,而且S由两个不相交部分,S,1,和,S,2,组成,即,S,=,S,1,S,2,,且,S,1,S,2,=。于是,,X,被,S,“击中”(,X,S,)结果定义为,(8-11),第53页,图8-14 X被S击中示意图,(,a,)结构元素,S,=,S,1,S,2,;(,b,)图像,X,;(,c,),X,被,S,击中,X,S,第54页,击中运算还有另外一个表示形式:,式(8-12)表明,,X,被,S,击中结果相当于,X,被,S,1,腐蚀结果与,X,被,S,2,反射集,S,2,V,膨胀结果之差。图8-15解释了这一过程。由此可见,击中运算也能够借助于腐蚀、膨胀两基本运算来实现。,第55页,8-15,第56页,下面,深入来讨论击中运算含义。在图8-15中,假如,S,中不包含,S,2,,那么,X,S,与,X,S,1,相同,共包含6个点。这表明X被S腐蚀后还剩6个点,就是说,,X,中共包含6个形如,S,1,结构元素,它们原点位置组成,X,S,。但将,S,2,加入,S,后,相当于对,X,S,增加了一个条件:不但要从X中找出那些形如,S,1,部分,而且要去掉那些在左边有一个邻点部分。这么一来,在,X,中只剩下两部分(方框内)满足要求结构元素,它们原点位置组成了最终,X,S,。,第57页,由此可见,击中运算相当于一个条件比较严格模板匹配,它不但指出被匹配点所应满足性质即模板形状,同时也指出这些点所不应满足性质,即对周围环境背景要求。击中/击不中变换能够用于保持拓扑结构形状细化,以及形状识别和定位。设有一个模板形状(集合),A,,对给定图像,X,,假定X中有包含A在内多个不一样物体。我们目标是识别和定位其中A物体。此时,取一个比,A,稍大集合,S,作为结构元素而且使,A,不与,S,边缘相交,令,S,1,=,A,且,S,2,=,S-A,,,S,2,为“包围”,A,或,B,1,外接边框,此时称,S,1,、,S,2,为一个结构元素对,简称结构对,记为(,S,1,,,S,2,),那么,X,(,S,1,S,2,)将给出且仅给出全部,X,中与,A,误差在设定范围内物体位置。图8-16描述了一个字符识别示例。,第58页,图8-16 用击中/击不中变换识别字符,(a)结构元素,S,;(b)图像,X,;(c),X,(,S,1,,,S,2,),第59页,8.3 灰值形态学,8.3.1 灰值腐蚀,用结构元素,b,对输入图像,f,(,x,y,)进行灰值腐蚀记为,f,b,,其定义为,(,f,b,)(,s,t,)=min,f,(,s,+,x,t,+,y,)-,b,(,x,y,),s,+,x,t,+,y,D,f,x,+,y,D,b,(8-13),式中,,D,f,和,D,b,分别是,f,和,b,定义域。,这里限制(,s+x,)和(,t+y,)在,f,定义域之内,类似于二值腐蚀定义中要求结构元素完全包含在被腐蚀集合中。,第60页,为简单起见,下面用一维函数来简单介绍式(8-13)含义和运算操作机理。用一维函数时,式(8-13)可简化为,(,fb,)(,s,)=min,f,(,s+x,)-,b,(,x,)|,s+x,D,f,x+y,D,b,(8-14),如同在相关计算中,对正,s,f,(,s+x,)移向右边,对负,s,,,f,(,s+x,)移向左边。要求(,s+x,)在,f,定义域内并要求,x,值在,b,定义域内,是为了把,b,完全包含在,f,平移范围内。,第61页,图8-17 灰值腐蚀示意图,(a)图像,f,;(b)结构元素,b,;,(c)用结构元素,b,对,f,腐蚀;(d)用结构元素,b,对,f,腐蚀结果,第62页,图8-18 灰值腐蚀与膨胀前后图像,(a)原始图像;(b)灰值腐蚀后图像;(c)灰度膨胀后图像,第63页,腐蚀计算是在由结构元素确定邻域中选取,fb,最小值,所以,对灰值图像腐蚀操作有两类效果:假如结构元素值都为正,则输出图像会比输入图像暗;假如输入图像中亮细节尺寸比结构元素小,则其影响会被减弱,减弱程度取决于这些亮细节周围灰度值和结构元素形状和幅值。,第64页,8.3.2 灰值膨胀,用结构元素,b,对输入图像,f,(,x,y,)进行灰值膨胀记为,f,b,,其定义为,(,f,b,)(,s,t,)=max,f,(,s-x,t-y,)+,b,(,x,y,)|,s-x,t-y,D,f,x+y,D,b,(8-15),式中,,D,f,和,D,b,分别是,f,和,b,定义域。这里限制(,s-x,)和(,t-y,)在,f,定义域之内,类似于在二值膨胀定义中要求两个运算集合最少有一个(非零)元素相交。式(8-15)与二维离散函数卷积形式很类似,区分是式(8-15)用max(最大)替换了卷积求和,用加法替换了卷积相乘。,第65页,为简单起见,下面用一维函数来简单介绍式(8-15)含义和运算操作机理。用一维函数时,式(8-15)可简化为,(,fb,)(,s,)=max,f,(,s-x,)+,b,(,x,)|,s-x,D,f,x,D,b,(8-16),和卷积相同,,f,(-,x,)是对应,x,轴原点映射。对正,s,,,f,(,s-x,)移向右边,对负,s,,,f,(,s-x,)移向左边。要求(,s-x,)在,f,定义域内并要求,x,值在,b,定义域内,是为了使,f,和,b,交集非空(有相重合部分)。,第66页,注意,与8.2.2节中介绍二值膨胀时不一样是,在式(8-15)和式(8-16)里是让,f,而不是让,b,反转平移。这是因为膨胀含有交换性,而腐蚀不含有交换性。为了让膨胀和腐蚀表示形式相互对应,采取了式(8-15)和式(8-16)表示,但由图8-19中例子能够看出,假如让,b,反转平移进行膨胀,其结果也完全一样。膨胀计算是在由结构元素确定邻域中选取,f,b,最大值,所以对灰值图像膨胀操作有两类效果:假如结构元素值都为正,则输出图像会比输入图像亮;依据输入图像中暗细节灰度值以及它们形状相对于结构元素关系,它们在膨胀中或被消减或被除掉。,第67页,图8-19 灰值膨胀示意图,(,a,)灰度膨胀过程;(,b,)灰度膨胀结果,第68页,下面简单介绍膨胀和腐蚀对偶性。膨胀和腐蚀相对于函数补(补函数)和反射也是对偶,对偶关系为,(8-17),(8-18),这里函数补定义为,f,C,(,x,y,)=-,f,(,x,y,),而函数反射定义为,b,V,(,x,y,)=,b,(-,x,-,y,)。,第69页,8.3.3 灰值开、闭运算,数学形态学中关于灰值开和闭运算定义与它们在二值数学形态学中对应运算是一致。用结构元素,b,(灰值图像)对灰值图像,f,做开运算记为,f,b,,其定义为,f,b,=(,f,b,),b,(8-19),用结构元素,b,(灰值图像)对灰值图像,f,做闭运算记为,f,b,,其定义为,f,b,=(,f,b,),b,(8-20),第70页,开、闭运算相对于函数补和反射也是对偶,对偶关系可写为,(,f,b,),C,=(,f,C,b,V,)(8-21),(,f,b,),C,=(,f,C,b,V,)(8-22),因为,f,(,x,,,y,)=-,f,(,x,,,y,),所以式(8-21)和式(8-22)可写为,-(,f,b,)=(-,f,C,b,V,)(8-23),-(,f,b,)=(-,f,b,V,)(8-24),第71页,灰值开、闭运算也有简单几何解释,如图8-20所表示。在图(a)中,给出了一幅图像,f,(,x,y,)在,y,为常数时一个剖面,f,(,x,),其形状为一连串山峰山谷。假设结构元素,b,是球状,投影到,x,和,f,(,x,)平面上是个圆。下面分别讨论开、闭运算情况。,用,b,对,f,做开运算,即,f,b,,可看作将,b,贴着,f,下沿从一端滚到另一端。图8-20(,b,)给出了,b,在开运算中几个位置,图8-20(,c,)给出了开运算操作结果。从图8-20(,c,)可看出,对全部比,b,直径小山峰其高度和尖锐度都减弱了。换句话说,当,b,贴着,f,下沿滚动时,,f,中没有与,b,接触部位都削减到与,b,接触。实际中惯用开运算操作消除与结构元素相比尺寸较小亮细节,而保持图像整体灰度值和大亮区域基本不受影响。详细地说就是,第一步腐蚀去除了小亮细节并同时减弱了图像亮度,第二步膨胀增加了图像亮度,但又不重新引入前面去除细节。,第72页,图8-20 灰值开、闭运算示意图,第73页,用,b,对,f,做闭运算,即,f,b,,可看作将,b,贴着,f,上沿从一端滚到另一端。图8-20(,d,)给出了,b,在闭运算操作中几个位置,图8-20(,e,)给出了闭运算操作结果。从图8-20(,e,)可看出,山峰基本没有改变,而全部比,b,直径小山谷得到了“填充”。换句话说,当,b,贴着,f,上沿滚动时,,f,中没有与b接触部位都得到“填充”,使其与b接触。实际中惯用闭运算操作消除与结构元素相比尺寸较小暗细节,而保持图像整体灰度值和大暗区域基本不受影响。详细说来,第一步膨胀去除了小暗细节并同时增强了图像亮度,第二步腐蚀减弱了图像亮度但又不重新引入前面去除细节。,第74页,图8-21 灰值开闭运算实例,(,a,)开运算结果;(,b,)闭运算结果,第75页,利用最大最小值运算也能够把数学形态学运算规则从二值图像推广到灰值图像。为此下面引入集合顶面(Top surface of a set,简写为,T,)和阴影(Umbra of a surface,简写为U)概念。为了易于表示,先考虑在空间平面xOy上一个区域,A,,如图8-22所表示。把,A,向,x,轴投影,可得,x,min和,x,max。对属于,A,每个点(,x,y,)来说,都有,y,=,f,(,x,)成立。对,A,来说,它在平面,xOy,上有一条顶线,T,(,A,),也就是,A,上边缘,T,(,A,),它可表示为,(8-26),第76页,第77页,把,T,(,A,)向,X,轴投影得到,F,。在,T,(,A,)与,F,之间阴影就是,U,(,A,),阴影,U,(,A,)也包含区域,A,。以上讨论能够方便地推广到空间Oxyz中去。一个二维灰值图像对应于Oxyz上一个体积,V,,它有一个顶面,T,(,V,),也就是,V,上曲面。类似于式(8-25),这个顶面能够写为,(8-26),第78页,依据灰值图像顶面和阴影定义,假如把,U,(,V,)以内看成“黑”区,,U,(,V,)以外看成“白”区,就能够把二值图像中几个形态学运算符加以引申,用到灰值图像中。如用,f,表示灰值图像,用,b,表示灰值结构元素,则将用,b,对,f,腐蚀和膨胀分别定义为,(8-27),(8-28),按照开、闭运算定义,它们实现能够参考腐蚀与膨胀算法给出,即对于开运算先腐蚀然后再膨胀,对闭运算先膨胀然后再腐蚀。,第79页,8.4 形态学应用,8.4.1 形态学滤波,因为开、闭运算所处理信息分别与图像凸、凹处相关,所以,它们本身都是单边算子,能够利用开、闭运算去除图像噪声、恢复图像,也可交替使用开、闭运算以到达双边滤波目标。普通,能够将开、闭运算结合起来组成形态学噪声滤波器,比如(,X,S,),S,或(,X,S,),S,等。,第80页,图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,),这两个操作串行结合就是闭运算,它将目标内部噪声孔消除掉了。整个过程是先做开运算再做闭运算,能够写为,(8-29),第81页,图8-23 形态学滤波示意图,第82页,比较图8-23(,a,)和(,f,),可看出目标区域内外噪声都消除掉了,而目标本身除原来4个直角变为圆角外没有太大改变。在利用开、闭运算滤除图像噪声时,选择圆形结构元素会得到很好结果。为了能使从噪声污染图像,X,中恢复原始图像,X,0,结果到达最优,在确定结构元素半径时,能够采取优化方法。为了到达这一目标,可将图像和噪声视为随机过程,经过统计优化分析得到优化结果。,第83页,相同方法也能够应用于灰值图像处理。灰值开运算可用于过滤最大噪声(高亮度噪声),因为被滤掉噪声位于信号上方。假如将图8-20信号上方尖峰视为噪声,那么,灰值开运算后可得到很好滤波效果,如图8-20(,c,)所表示。依据对偶性,闭运算能够滤掉信号下方噪声尖峰。图8-20(,d,)给出了利用圆形结构元素进行灰值闭滤波结果。与二值情况相同,能够利用适当结构元素进行开-闭滤波,而且适当地选择结构元素尺寸是非常关键。另外,假如信号中还混杂有不一样尺寸噪声脉冲,而且噪声之间并没有很好地分离,那么,能够选取一个交变序列滤波器,这种滤波器使用逐步增加宽度结构元素交替地做灰值开、闭运算。在普通情况下,噪声往往由信号上下凸起尖峰组成。只要这些噪声是很好分离,就能够利用开运算和闭运算迭代运算或闭运算和开运算迭代运算将其消除。,第84页,8.4.2 骨架抽取,把一个平面区域简化成图(Graph)是一个主要结构形状表示法。利用细化技术得到区域细化结构是惯用方法。所以,寻找二值图像细化结构是图像处理一个基本问题。在图像识别或数据压缩时,经常要用到这么细化结构,比如,在识别字符之前,往往要先对字符作细化处理,求出字符细化结构。骨架便是这么一个细化结构,它是目标主要拓扑描述,含有非常广泛应用。,第85页,下面首先对数字图像细化概念做简明介绍。许多数学形态学算法都依赖于击中/击不中变换。其中数字图像细化,便是一个最常见使用击中/击不中变换形态学算法。对于结构对,B,=(,B,1,,,B,2,),利用,B,细化,X,定义为,即,XB,为,X,与,X,B,差集。更普通地,利用结构对序列,B,1,,,B,2,,,B,N,迭代地产生输出序列,(8-30),(8-31),或者,i,=1,2,N,(8-32),第86页,伴随迭代进行,得到集合也不停细化。假设输入集合是有限(即N为有限),最终将得到一个细化图像。结构正确选择仅受结构元素不相交限制。实际上,每一个,B,i,(,i,=1,2,N,)都能够是相同结构对,即在不停重复迭代细化过程使用同一个结构对。在实际应用中,通常选择一组结构元素对,迭代过程不停在这些结构对中循环,当一个完整循环结束时,如果所得结果
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服