形态学图像处理_第1页
形态学图像处理_第2页
形态学图像处理_第3页
形态学图像处理_第4页
形态学图像处理_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章形态学图像处理(第9章)MorphologicalImageProcessing利用数学形态学进行图像处理

主要内容

6.1概述

数学形态学

基本符号和术语

6.2二值形态学

腐蚀、膨胀、开、闭

6.3

形态学运算应用

提取边界、骨架、区域填充、提取连通分量、

去噪

6.4Matlab形态学运算

6.1概述6.1.1数学形态学数学形态学(MathematicalMorphology)诞生于1964年,是由法国巴黎矿业学院博士生赛拉(J.Serra)和导师马瑟荣,在从事铁矿核的定量岩石学分析及预测其开采价值的研究中提出“击中/击不中变换”,并在理论层面上第一次引入了形态学的表达式,建立了颗粒分析方法。他们的工作奠定了这门学科的理论基础,如击中/击不中变换、开闭运算、布尔模型及纹理分析器的原型等。数学形态学的基本思想是用具有一定形态的结构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。

数学形态学的数学基础和所用语言是集合论,因此它具有完备的数学基础,这为形态学用于图像分析和处理、形态滤波器的特性分析和系统设计奠定了坚实的基础。数学形态学的应用可以简化图像数据,保持它们基本的形状特性,并除去不相干的结构。数学形态学的算法具有天然的并行实现的结构,实现了形态学分析和处理算法的并行,大大提高了图像分析和处理的速度。

数学形态学是由一组形态学的代数运算子组成的,它的基本运算有4个:膨胀(或扩张)、腐蚀(或侵蚀)、开启和闭合,它们在二值图像和灰度图像中各有特点。基于这些基本运算还可推导和组合成各种数学形态学实用算法,用它们可以进行图像形状和结构的分析及处理,包括图像分割、特征抽取、边界检测、图像滤波、图像增强和恢复等。

数学形态学方法利用一个称作结构元素的“探针”收集图像的信息,当探针在图像中不断移动时,便可考察图像各个部分之间的相互关系,从而了解图像的结构特征。数学形态学基于探测的思想,与人的FOA(FocusOfAttention)的视觉特点有类似之处。作为探针的结构元素,可直接携带知识(形态、大小、甚至加入灰度和色度信息)来探测、研究图像的结构特点。

数学形态学的基本思想及方法适用于与图像处理有关的各个方面,如基于击中/击不中变换的目标识别,基于腐蚀和开运算的骨架抽取及图像编码压缩,基于测地距离的图像重建,基于形态学滤波器的颗粒分析等。迄今为止,还没有一种方法能像数学形态学那样既有坚实的理论基础,简洁、朴素、统一的基本思想,又有如此广泛的实用价值。有人称数学形态学在理论上是严谨的,在基本观念上却是简单和优美的。

在计算机文字识别,计算机显微图像分析(如定量金相分析,颗粒分析),医学图像处理(例如细胞检测、心脏的运动过程研究、脊椎骨癌图像自动数量描述),图像编码压缩,工业检测(如食品检验和印刷电路自动检测),材料科学,机器人视觉,汽车运动情况监测等方面都取得了非常成功的应用。另外,数学形态学在指纹检测、经济地理等领域也有良好的应用前景。6.1.2基本符号和术语

1.元素和集合在数字图像处理的数学形态学运算中,把一幅图像称为一个集合。对于二值图像而言,习惯上认为取值为1的点对应于景物中心,用阴影表示,而取值为0的点构成背景,用白色表示,这类图像的集合是直接表示的。考虑所有值为1的点的集合为A,则A与图像是一一对应的。对于一幅图像A,如果点a在A的区域以内,那么就说a是A的元素,记为a∈A,否则,记作a∈A,如图6-1(a)所示。图6-1元素与集合间的关系B集合2、交集、并集、补集、差集

3.击中(Hit)与击不中(Miss)

设有两幅图像A和B,如果A∩B≠,那么称B击中A,记为B↑A,其中是空集合的符号;否则,如果A∩B=,那么称B击不中A,如图6-3所示。图6-3击中与击不中(a)B击中A;(b)B击不中A

4.平移与反射

设A是一幅数字图像,b是一个点,那么定义A被b平移后的结果为A+b={a+b|a∈A},即取出A中的每个点a的坐标值,将其与点b的坐标值相加,得到一个新的点的坐标值a+b,所有这些新点所构成的图像就是A被b平移的结果,记为A+b,如图9-1所示。反射(映射):ÂA

被处理的图像称为目标图像,一般用大写英文字母表示。为了确定目标图像的结构,必须逐个考察图像各部分之间的关系,并且进行检验,最后得到一个各部分之间关系的集合。在考察目标图像各部分之间的关系时,需要设计一种收集信息的“探针”,称为“结构元素”。“结构元素”一般用大写英文字母表示,例如用S表示。在图像中不断移动结构元素,就可以考察图像之间各部分的关系。一般,结构元素的尺寸要明显小于目标图像的尺寸。5.目标和结构元素逻辑运算逻辑运算示例6.2二值形态学

二值形态学中的运算对象是集合。设A为图像集合,S为结构元素,数学形态学运算是用S对A进行操作。以下用阴影代表值为1的区域,白色代表值为0的区域,运算是对值为1的区域进行的。二值形态学中两个最基本的运算——腐蚀与膨胀,如图6-5所示。图6-5腐蚀与膨胀示意图

6.2.1腐蚀(Erosion)腐蚀是最基本的一种数学形态学运算。对一个给定的目标图像X和一个结构元素S,想象一下将S在图像上移动,记为(S)x。在每一个当前位置x,S+x只有三种可能的状态(见图6-6):(1)S+xX;(2)S+xXC;(3)S+x∩X与S+x∩XC均不为空图6-6S+x的三种可能的状态

第一种情形说明S+x与X相关最大,第二种情形说明S+x与X不相关,而第三种情形说明S+x与X只是部分相关。因而满足式(6-1)的点x的全体构成结构元素与图像最大相关点集,这个点集称为S对X的腐蚀(简称腐蚀,有时也称X用S腐蚀),记为XS。

腐蚀也可以用集合的方式定义,即式(6-2)表明,X用S腐蚀的结果是所有使S平移x后仍在X中的x的集合。换句话说,用S来腐蚀X得到的集合是S完全包括在X中时S的原点位置的集合。上式也可以帮助我们借助相关概念来理解腐蚀操作。(6-2)腐蚀在数学形态学运算中的作用是消除物体边界点。如果结构元素取3×3的像素块,腐蚀将使物体的边界沿周边减少一个像素。腐蚀可以把小于结构元素的物体(毛刺、小凸起)去除,这样选取不同大小的结构元素,就可以在原图像中去掉不同大小的物体。如果两个物体之间有细小的连通,那么当结构元素足够大时,通过腐蚀运算可以将两个物体分开。腐蚀

BA模板的原点在结构元素内部,腐蚀具有收缩图像的作用。AB

例6-1腐蚀运算图解。图6-7给出腐蚀运算的一个简单示例。其中,图6-7(a)中的阴影部分为集合X,图6-7(b)中的阴影部分为结构元素S,而图(c)中黑色部分给出了XS的结果。由图可见,腐蚀将图像(区域)收缩小了。图6-7腐蚀运算示例

图6-7腐蚀运算过程膨胀6.2.2膨胀(Dilation)腐蚀可以看作是将图像X中每一与结构元素S全等的子集S+x收缩为点x。反之,也可以将X中的每一个点x扩大为S+x,这就是膨胀运算,记为X

S。若用集合语言,它的定义为

膨胀示例腐蚀示例膨胀过程SŜ腐蚀与膨胀示例Matlab实现腐蚀与膨胀运算

BW=imread('text.tif');SE1=ones(2,2);SE2=ones(5,5);BW1=imdilate(BW,SE1);BW2=imdilate(BW,SE2);figure,subplot(221),subimage(BW),title('Original');subplot(222);subimage(BW1);title('Dialate2-2');subplot(223);subimage(BW2);title('Dialate5-5');

se1=ones(2,2);se2=ones(5,5);I1=imerode(BW1,se1);I2=imerode(BW2,se2);figure,subplot(221);subimage(I),title('Original')subplot(222),subimage(I1),title('Eroded2-2')subplot(223),subimage(I2),title('Eroded5-5')6.2.3开运算和闭运算开操作一般使对象的轮廓变得光滑,断开狭窄的间断和消除细小的突出物。闭操作同样使得轮廓光滑,它通常消除狭窄的间断和长细的鸿沟,消除小的空洞,并填充轮廓线中的断裂。1.基本概念

如果结构元素为一个圆盘,那么,膨胀可填充图像中的小孔(比结构元素小的孔洞)及图像边缘处的小凹陷部分,而腐蚀可以消除图像边缘小的成分,并将图像缩小,从而使其补集扩大。但是,膨胀和腐蚀并不互为逆运算,因此它们可以级连结合使用。在腐蚀和膨胀两个基本运算的基础上,可以构造出形态学运算族,它由膨胀和腐蚀两个运算的复合与集合操作(并、交、补等)组合成的所有运算构成。例如,可先对图像进行腐蚀然后膨胀其结果,或先对图像进行膨胀然后腐蚀其结果(这里使用同一个结构元素)。前一种运算称为开运算(或开启),后一种运算称为闭运算(闭合)。开运算和闭运算是形态学运算族中两个最为重要的组合运算。(6-7)(6-8)(6-9)由式(6-7)和式(6-8)可知,X○S可视为对腐蚀图像XS用膨胀来进行恢复,而X●S可看作是对膨胀图像XS用腐蚀来进行恢复不过这一恢复不是信息无损的,即它们通常不等于原始图像X。由开运算的定义式,可以推得对图像X及结构元素S,用符号X○S表示S对图像X作开运算,用符号X●S表示S对图像X作闭运算,它们的定义为开操作示例方向向外的角变得圆滑了,而方向内角没有变化。图像缩小闭操作示例方向向内的角变得圆滑了,而方向向外的角没有变化图像放大开闭运算示例开闭运算示例图6-12开、闭运算示例(a)原图像;(b)结构元素S;(c)结构元素S腐蚀图像X;(d)结构元素S腐蚀X的结果;(e)对腐蚀的结构再膨胀;(f)再膨胀(开运算)的结果X○S;(g)结构元素S膨胀X;(h)结构元素S膨胀X的结果XS;(i)对膨胀的结果再腐蚀;(j)再腐蚀的结果(闭运算)X●S开闭运算示例

2.开闭运算的代数性质由于开、闭运算是在腐蚀和膨胀运算的基础上定义的,根据腐蚀和膨胀运算的代数性质,我们不难得到下面的性质。 1)对偶性(XC○S)C=X●S,(XC●S)C=X○S 2)扩展性(收缩性)X○SXX●S即开运算恒使原图像缩小,而闭运算恒使原图像扩大

3)单调性如果XY,则X●SY●S,X○SY○S

如果YZ且Z●Y=Z,那么X●YX●Z

根椐这一性质可以知道,结构元素的扩大只有在保证扩大后的结构元素对原结构元素开运算不变的条件下方能保持单调性。

4)平移不变性(X+h)●S=(X●S)+h,(X+h)○S=(X○S)+hX●(S+h)=X●S,X○(S+h)=X○S5)等幂性(X●S)●S=X●S,(X○S)○S=X○S

开、闭运算的等幂性意味着一次滤波就能把所有特定结构元素的噪声滤除干净,作重复的运算不会再有效果。这是一个与经典方法(例如中值滤波、线性卷积)不同的性质。

Matlab实现开与闭运算I=imread('nodules1.tif');bw=~im2bw(I,graythresh(I));se=strel('disk',5);bw2=imopen(bw,se);figure;subplot(221);subimage(I);title('Original');subplot(222);subimage(bw),title('Thresholdedimage')subplot(223);subimage(bw2),title('Afteropening')

I=imread('pearlite.tif');bw=~im2bw(I,graythresh(I));figure,subplot(221);subimage(I),title('Original')subplot(222);subimage(bw),title('Step1:threshold')se=strel('disk',6);bw2=imclose(bw,se);bw3=imopen(bw2,se);subplot(223);subimage(bw2),title('Step2:closing')subplot(224);subimage(bw3),title('Step3:opening')形态学算法(P412)边界提取:集合A的边界记为它通过先由B对A进行腐蚀,然后用A减去腐蚀得到:

边界提取示例区域填充将所有非边界点(背景)标记为0,则以将1赋给p开始,使用下列算法填充整个区域。如果,算法迭代结束。P点称为种子点。区域填充区域填充示例

像素间的联系

一、

8-邻域

p的周围8个近邻像素全体称为p的8-邻域,记为N8(p);二、连通性判断条件:像素是否接触、灰度值是否满足某个特定的相似准则连通图像子集S中的像素p和q,如果存在一条从p到q的通路,称p在S中与q相连通。连通分量的提取令Y表示一个包含于集合A中的连通分量,并假设Y中的1个点是已知的。下列迭代生成Y的所有元素:

X0=p,B是一个适当的结构元素。2.迭代直到结束。并令Y=Xk连通分量示例连通分量包装检测示例骨架Chapter6MorphologicalImageProcessingChapter6MorphologicalImageProcessingChapter6MorphologicalImageProcessingChapter6MorphologicalImageProcessing灰度图像的膨胀与腐蚀灰度图像开闭操作去掉外角去掉内角灰度图像开闭操作示例形态学平滑骨架抽取把一个平面区域简化成图(Graph)是一种重要的结构形状表示法。利用细化技术得到区域的细化结构是常用的方法。因此,寻找二值图像的细化结构是图像处理的一个基本问题。在图像识别或数据压缩时,经常要用到这样的细化结构,例如,在识别字符之前,往往要先对字符作细化处理,求出字符的细化结构。骨架便是这样的一种细化结构,它是目标的重要拓扑描述,具有非常广泛的应用。图6-18骨架抽取示例(a)一幅二值图像;(b)用3×3的结构元素S得到的骨架;(c)用5×5的结构元素得到的骨架;(d)用7×7的结构元素得到的骨架

细化

利用前面所介绍的形态学知识,下面给出一种实用的对二值区域进行形态学细化的一种算法。如前所述,一个图像的“骨架”,是指图像中央的骨骼部分,是描述图像几何及拓扑性质的重要特征之一。求一幅图像骨架的过程就是对图像进行“细化”的过程。在文字识别、地质构造识别、工业零件形状识别或图像理解中,先对被处理的图像进行细化有助于突出形状特点和减少冗余信息量。在细化一幅图像X时应满足两个条件:

在细化的过程中,X应该有规律地缩小;

在X逐步缩小的过程中,应当使X的连通性质保持不变。BW1=imread('circles.tif');imshow(BW1)BW2=bwmorph(BW1,'remove');BW3=bwmorph(BW1,'skel',Inf);figure,imshow(BW2)figure,imshow(BW3)Matlab提取骨架

Setapixelto0ifits4-connectedneighborsareall1's,thusleavingonlyboundarypixelsInf,removepixelsontheboundariesofobjectswithoutallowingobjectstobreakapartloadimdemossteel;figure,subplot(331),subimage(steel),title('Original');bw_70=steel>70;subplot(332),subimage(bw_70),title('Thres=70');[r,c]=find(bw_70==0);bw_210=steel>210;subplot(333),subimage(bw_210);title('Thres=210');bw_clean=bwselect(~bw_210,c,r,8);subplot(334),subimage(bw_clean);title('Clean');bw_skel=bwmorph(bw_clean,'skel',6);subplot(335),subimage(bw_skel);title('Skel');bw_pruned=bwmorph(bw_skel,'spur',8);subplot(336),subimage(bw_pruned);title('Spur');grain_boundaries=~bw_pruned;subplot(337),subimage(grain_boundaries);title('grain_boundaries');[labeled,N]=bwlabel(grain_boundaries,4);colored=label2rgb(labeled);subplot(338),subimage(colored);title('Colored');6.4Matlab形态学运算imerode:ErodeimageSyntaxIM2=imerode(IM,SE)IM2=imerode(IM,NHOOD)IM2=imerode(...,PACKOPT,M)IM2=imerode(...,SHAPE)DescriptionIM2=imerode(IM,SE)erodesthegrayscale,binary,orpackedbinaryimageIM,returningtheerodedimageIM2.TheargumentSEisastructuringelementobjectorarrayofstructuringelementobjectsreturnedbythestrelfunction.originalBW=imread('circles.png');se5=strel('disk',5);se9=strel('disk',9);se11=strel('disk',11);erodedBW5=imerode(originalBW,se5);erodedBW9=imerode(originalBW,se9);erodedBW11=imerode(originalBW,se11);subplot(221),imshow(originalBW),title('Originalimage');subplot(222),imshow(erodedBW5),title('dilatedimage5');subplot(223),imshow(erodedBW9),title('dilatedimage9');subplot(224),imshow(erodedBW11),title('dilatedimage11');Howabouttheresultifthestructureoperatorsizeincreasesto21,25?DiscussionTheeffectoferosion:RemovesmallobjectincludingnoisesExtractthecenterofroundobjectCalculatenumberofobjectbw=imread('text.png');se=strel('line',3,5);bw2=imdilate(bw,se);subplot(121),imshow(bw),title('Original')Subplot(122),imshow(bw2),title('Dilatedimageusing3x5')Dilateagrayscaleimagewitharollingballstructuringelement.I=imread('cameraman.tif');se=strel('ball',5,5);I2=imdilate(I,se);imshow(I),title('Original')figure,imshow(I2),title('Dilated')ExamplesRemovethesmallerobjectsinanimage.ReadtheimageintotheMATLABworkspaceanddisplayit.I=imread('snowflakes.png');imshow(I)Createadisk-shapedstructuringelementwitharadiusof5pixels.se=strel('disk',5);Removesnowflakeshavingaradiuslessthan5pixelsbyopeningitwiththedisk-shapedstructuringelementcreatedinstep2.I_opened=imopen(I,se);figure,imshow(I_opened,[])MorphologicallycloseimageSyntaxIM2=imclose(IM,SE)IM2=imclose(IM,NHOOD)DescriptionIM2=imclose(IM,SE)performsmorphologicalclosingonthegrayscaleorbinaryimageIM,returningtheclosedimage,IM2.Thestructuringelement,SE,mustbeasinglestructuringelementobject,asopposedtoanarrayofobjects.Themorphologicalcloseoperationisadilationfollowedbyanerosion,usingthesamestructuringelementforbothoperations.ConclusionofMorphology

(1)ErosionThedilationoperationus

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论