二值图像的处理程序设计—形态学处理_第1页
二值图像的处理程序设计—形态学处理_第2页
二值图像的处理程序设计—形态学处理_第3页
二值图像的处理程序设计—形态学处理_第4页
二值图像的处理程序设计—形态学处理_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要数学形态学兴起于20世纪60年代,是一种新型的非线性算子,它着重研究图像的几何结构,由于视觉信息理解都是基于对象几何特性的,因此它更适合视觉信息的处理和分析,这类相互作用由两种基本运算腐蚀和膨胀及它们的组合运算来完成。数学形态学为在图像识别、显微图像分析、医学图像、工业图像、机器人视觉方面都有十分重要的应用。本设计运用MATLAB把一幅图像二值化,并进行膨胀、腐蚀、开启、闭合等处理,这些算法分别能够使图像边缘扩大物体中的空洞:边缘缩小消除小且无意义的物体:保持原目标的大小与形态的同时,填充凹陷,弥合孔洞和裂缝:用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不改变其面积。关键

2、字:膨胀:腐蚀:开启;闭合目录1设计目的与要求11.1 设计目的11.2 设计要求12MATLAB平台22.1 MATLAB简介22.2 MATLAB的应用23设计原理33.1 膨胀33.2 腐蚀33.3 开启与闭合53.4 阈值54设计方案64.1 设计思想64.2 设计流程65代码实现76仿真与结果分析86.1 仿真66.2 结果分析11结论12参考文献13二值图像的处理程序设计一形态学处理1设计目的与要求1.1 设计目的(1)了解膨胀、腐蚀、开启、闭合四种方法对二值图像的影响,及它们在数字图处理中的应用。(2)进一步熟悉MATLAB运用和图像处理的知识,加深对图像二值化处理1.2 课程设

3、计要求利用所学的数字图像处理技术,自己设计完成对一副灰度图像的形态学运算(膨胀、腐蚀及其组合运算);对一副灰度图像的分块处理运算。具体要求:(1)熟悉和掌握MATLAB程序设计方法;(2)学习和熟悉MATLAB图像处理工具箱:(3)学会运用MATLAB工具箱对图像进行处理和分析;(4)能对图像jpg格式进行打开、保存、另存、退出等功能操作;(5)利用所学数字图像处理技术知识、MATLAB软件对图像进行腐蚀,膨胀,开运算,闭运算。(6)在程序开发时,清楚主要实现函数目的和作用,需要在程序书写时做适当注释说明,理解每一句函数的具体意义和使用范围:(7)每个程序都必须做到功能仿真成功,运行结果以图片

4、的形式粘贴到报告中。2MATLAB平台2.1 MATLAB简介Matlab是当今最优秀的科技应用软件之一,它一强大的科学计算与可视化功能,简单易用,开放式可扩展环境,特别是所附带的30多种面向不同领域工具箱支持,使得它在许多科学领域中成为计算机辅助设计与分析,算法研究和应用开发的基本工具盒首选平台。2.2 MATLAB在图像处理中的应用MATLAB7.X提供了20类图像处理函数,涵盖了图像处理包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。这些函数按功能可分为图像显示、图像文件I/O、图像算术运算、几何变换、图像登记、像素值与统计、图像分析、图像

5、增强、线性滤波、线性二元波波设计、图像去模糊、图像变换、邻域与块处理、灰度与二值图像的形态学运算、结构元素创建与处理、基于边缘的处理、色彩映射表操作、色彩空间变换及图像类型与类型转换。Matlab数字图像处理工具箱函数包括以下几类:(1)图像显示函数;(2)图像文件输入、输出函数:(3)图像几何操作函数:(4)图像像素值及统计函数:(5)图像分析函数:(6)图像增强函数;(7)线性滤波函数;(8)二维线性滤波器设计函数:(9)图像变换函数;(10)图像邻域及块操作函数;(11)二值图像操作函数;(12)基于区域的图像处理函数:(13)颜色图操作函数:(14)颜色空间转换函数;(15)图像类型和

6、类型转换函数。3设计原理3.1 膨胀将于物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程,利用它可以填补物体中的空洞,以及消除包含在目标区域中的小颗粒噪声。膨胀处理是腐蚀处理的对偶,可定义如下:膨胀是以得到B的相对与它自身原点的映像并且由z对映像进行移位为基础的。A被B膨胀是所有位移Z的集合,这样,和A至少有一个元素是重登的。我们可以把上式改写为:结构元素B可以看作一个卷积模板,区别在于膨胀是以集合运算为基础的,卷积是以算术运算为基础的,但两者的处理过程是相似的。用结构元素B,扫描图像A的每一个像素:用结构元素与其覆盖的二值图像做“与操作;如果都为0,结果图像的该像素为0。否则为1;

7、如图3.1所示:图3.1膨胀由图3.1可知,膨胀(dilation)可以看做是腐蚀的对偶运算,其定义是:把结构元素B平移a后得到Ba,若Ba击中X,我们记下这个a点。所有满足上述条件的a点组成的集合称做X被B膨胀的结果叫X是被处理的对象,B是结构元素,不难知道,对于任意一个在阴影部分的点a.Ba击中X,所以X被B膨胀的结果就是那个阴影部分。阴影部分包括X的所有范围,就象X膨胀了一圈似的,这就是为什么叫膨胀的原因。同样,如果B不是对称的,X被B膨胀的结果和X被Bv膨胀的结果不同。让我们来看看实际上是怎样进行膨胀运完的。在图中,左边是被处理的图象X(二值图象,我们针对的是黑点),中间是结构元素Bo

8、膨胀的方法是,拿B的中心点和X上的点及X周围的点一个一个地对,如果B上有一个点落在X的范围内,则该点就为黑:右边是膨胀后的结果。可以看出,它包括X的所有范围,就象X膨胀了一圈似的。3.2 腐蚀是一种消除边界点,使边界点向内部收缩的过程,可以用来消除小且无意义的目标物。如果两目标物间有细小的联通,可以选取足够大的结构元素,将细小连通腐蚀掉。可定义如下:对Z中的集合A和B,B对A进行腐蚀的整个过程如下:(1)用结构元素B,扫描图像A的每一个像素;(2)用结构元素与其覆盖的二值图像做“与”操作;(3)如果都为1,结果图像的该像素为1。否则为0;如图3.2所示:由图3.2可知,X是被处理的对象,B是结

9、构元素。不难知道,对于任意一个在阴影部分的点a,Ba包含于X,所以X被B腐蚀的结果就是那个阴影部分。阴影部分在X的范围之内,且比X小,就象X被剥掉了一层似的,这就是为什么叫腐蚀的原因。值得注意的是,上面的B是对称的,即B的对称集Bv=B,所以X被B腐蚀的结果和X被Bv腐蚀的结果是一样的。如果B不是对称的,让我们看看图6.9,就会发现X被B腐蚀的结果和X被Bv腐蚀的结果不同。3.3 开启与闭合先腐蚀再膨胀为开启运算;先膨胀再腐蚀为闭合运算。3.4 阈值阈值就是一个分水岭,比它小的灰度值变为0,比它大的为255.本设计中将运用graythresh(函数)来求阈值。此函数采用的是最大类间方法来求得合

10、适的阈值。此阈值选取方法首先选取图像的灰度范围的中值作为初始值70,把掩饰图像中全部像素分成前景和后景两大类,然后分别对其进行积分并将结果取平均以获得一新的阈值,并按此阈值将图像分成前景与背景。如此反好下去知道阈值不再变化时就是所求阈值。4设计方案4.1 设计思想学的研究对象是二值图像,所以要先把彩色图像转换成二值图像,然后再运用MATLAB平台将一个拥有一定形态的结构元素区度量和提取图像中对应形状以达到对图像的分析和识别目的。4.2 设计流程先提取原图像,再将其二值化以便于后续处理。将二值化后的图像经过四种基本运算后分析他们的用处。处理流程如图4.1所示:开始)(结束图41形态学处理流程图由

11、图4.1可知,本设计运用函数imread()调用原图像TT.jpg,再利用函数graytliresh()与函数im2bw()将它二值化,此时图像只有黑白二色。之后分别用函数imdilate()进行膨胀算法使图像过打一圈:用imerodeO进行腐蚀算法使图像缩小一圈:用函数bwmorph(sw,*opeir)进行开启运算使图像总大小不变阴影变大:用函数bwmorph(sw.4close,)进行闭合运算使图像总大小不变阴影变小。5代码实现(1)使用函数imread()读取原图,并使用函数graythresh()与函数imlbw()使其二值化,其核心代码如下:P=imread(D:TT.jpg);l

12、evel=giaythresh(P);TP=im2bw(PJevel);%提取图像%得到合适的阈值%二值化(2)运用函数strel。设置结构元素并利用函数imdilate()与函数imerode()分别进行膨胀与腐蚀运算,其核心代码如下:PY=strel(fsqiiaret3);PZ=imdilate(TP,PY);FY=strel(rdiskf3);FS=imerode(TPJFY);蟀设置膨胀结构元素%膨胀%设置腐蚀结构元素%腐蚀(3)利用函数bwmorph(TPJopen)与函数bwmorphCTPJcIose1)分别进行开运算与闭运算,其核心代码如下:%开运算%闭运算OP=bwnior

13、ph(TP,'open');CL=bwmorphfTP,close);(4)运用函数imshow()来显示图片,再利用函数figure,imshow()显示接下来的图片,其核心代码如下:%显小图片imshow(P);figure4inshow(TP);figurejmshowfPZ);figurejmshowfFS);figure4mshow(OP);figure4inshow(CL);6仿真与结果分析6.1仿真(1)利用函数imread()提取原始图像,见图6.1所示图61原图由图6.1可知,此图描述的是海边口落的美景。(2)使用函数giaytluesh()与函数im2bw(

14、)使图6.1二值化,见图6.2图62二值化由图6.2可知,二值化后的图像使原先五彩缤纷的颜色只有黑白两色了。(3)利用函数imdHate()对图6.2进行膨胀运算,见图63所示图63膨胀由图6.3可知,膨胀后的图像明显比上一幅大了一圈。(4)利用函数imerode()对图6.2进行膨胀运算,见图6.4所示图64腐蚀由图6.4可知,腐蚀后的图像相较于二值化后的图像明显小了一圈。(5)利用函数bwniorph(TPJopen)对图6.2进行开运算,见图6.5所示图6.5开启由图6.5可知,图像中的事物轮廓变得光滑了许多,目标轮廓基本不变。(6)利用函数bwmorph(TP,dose,)对图6.2进

15、行闭合运算,见图6.6所示图66闭合由图6.6可知,填平了孔洞同时保持了目标面积基本不变,弥合部分小裂缝,而总的位置和形状不变。6.2结果分析由此可见,数学形态学的四种基本运算各有各的作用:(1)膨胀是把链接成分的边界扩大一层的处理。(2)腐蚀是把图像连接成分的边界点去掉一层,常用于细化图像,去除噪声。(3)开运算使目标轮廓光滑,并去掉了毛刺,孤立点的锐化角。闭运算则填平小沟、弥合孔洞和裂缝。它们可以检测或清除图像中的小成分或孔洞,并是目标轮廓大小与位置不变。结论本次课程设计考察了对输入图像进行二值化处理,经过四种基本运算来对二值化后的图像运算,并分析其作用。经过几天的努力,我取得如下成果:(

16、1)图像的二值化处理就是将图像上的点通过设置合适的阈值将其灰变为0或255,也就是整个图像呈现出明显的黑白效果。(2)膨胀和腐蚀是不可逆运算,对图像膨胀或腐蚀都导致图像目标面积大小改变。(3)为了对二值图像进行着两种基本操作而保证图像目标面积不发生明显变化,提出了二值图像的开运算和闭运算。使用同一个结构元素对图像先膨胀再进行腐蚀的运算称为闭运算。闭运算的作用是在保持原目标的大小与形态的同时,填充凹陷,弥合孔洞和裂缝。常用来填充孔洞、凹陷和连接断开的目标,与膨胀作用相类似,但与膨胀的处理相比,具有保持目标大小不变的优点。开运算用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。数学形态学对图像的处理具有直观上的简明性和数学上的严连性,在定量描述图像的形态特征上具有独特的优势,为基于形状细节进行图像处理提供了强有力的手段。建立在集合理论基础上的数学形态学,主要通过选择相应的结构元素采用膨胀、腐蚀、开启、闭合#种基本运算的组合来处理图像。数学形态学在图像处理中的应用广泛,有许多实用的算法,但在每种算法中结构元素的选取都是一个重要的问题。参考文献1朱莉钟,数字图像处理学国.北京:电子工业出版社,2001:13-212龚声蓉.数字图像处理与分析M.北京:清华大学出版社,2006:31393张明照.应用MATLAB语言处理数字图像M.北京:科学出版社,

温馨提示

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

最新文档

评论

0/150

提交评论