- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
本章要点:01二值形态学基本运算02膨胀和腐蚀的MATLAB实现方法03形态操作应用04二进制图像的形态学应用056.1.1二值形态学概念01形态学的基本思想是使用具有一定形态的结构元素来度量和提取图像中的对应形状,从而达到对图像进行分析和识别的目的。02使用形态学操作可以完成增强对比度、消除噪声、细化、骨架化、填充和分割等常用图像处理任务。031其基本运算有四种:膨胀(或扩张)、腐蚀(或侵蚀)、开启和闭合。2二值形态学中的运算对象是集合,通常给出一个图像集合和一个结构元素集合,利用结构元素对图像进行操作。3结构元素是一个用来定义形态操作中所用到的邻域的形状和大小的矩阵,该矩阵仅由0和1组成,可以具有任意的大小和维数,数值1代表邻域内的像素,形态学运算都是对数值1的区域进行的运算。030201膨胀的运算符图像集合A用结构元素B来膨胀用B对A进行膨胀的过程是:首先对B作关于原点的映射,再将其映像平移x,A与B映像的交集不为空集时,B的原点就是膨胀集合的像素。也就是说,用B来膨胀A得到的集合是B’的位移与A至少有一个非零元素相交时B的原点的位置集合。01如果将B看成是一个卷积模板,膨胀就是对B作关于原点的映像,然后再将映像连续地在A上移动而实现的。01P102图6.1膨胀运算示意图01腐蚀的运算符号A用B腐蚀的结果是所有满足将B平移x后,B仍全部包含在A中的x的集合。从直观上看就是B经过平移后全部包含在A中的原点组成的集合。P102图6.2腐蚀运算示意图P103原点不包含在结构元素中的膨胀或腐蚀运算示意图使用结构元素对图像进行腐蚀操作相当于使用该结构元素的映像对图像背景进行膨胀操作,反之亦然。P104图6.6膨胀与腐蚀对偶性示意图使用同一个结构元素对图像先进行腐蚀,然后再进行膨胀的运算称为开启。先进行膨胀,然后再进行腐蚀的运算称为闭合。开启的运算符为“。”,A用B来开启记为A。B闭合的运算符为“.”,A用B来闭合记为A.B开启和闭合不受原点位置的影响,无论原点是否包含在结构元素中,开启和闭合的结果都是一定的。根据膨胀和腐蚀的对偶性可知,开启和闭合也具有对偶性。6.2.1图像处理的膨胀和腐蚀概念在MATLAB图像工具箱中,膨胀一般是给图像中的对象边界添加像素,而腐蚀则是删除对象边界像素。在形态学的膨胀和腐蚀操作中,输出图像中所有给定像素的状态都是通过对输入图像中相应像素及其邻域使用一定的规则来确定的。膨胀和腐蚀规则:P105图6.7图6.801进行膨胀操作时,输出像素值是输入图像相应像素邻域内所有像素的最大值。在二进制图像中,如果任何一个像素值为1,那么对应的输出像素值为1。而在腐蚀操作中,输出像素值是输入图像相应像素邻域内所有像素值的最小值。在二进制图像中,如果任何一个像素值为0,那么对应的输出像素值为0。02膨胀:超出图像边界的像素值定义为该数据类型允许的最小值。对于二进制图像,这些像素值被设置为0;对于灰度图像,uint8类型的最小值也是0。腐蚀:超出图像边界的像素值定义为该数据类型允许的最大值。对于二进制图像,这些像素值被设置为1;对于灰度图像,uint8类型的最大值是255。1膨胀和腐蚀操作的基本组成部分就是用来测试输入图像的结构元素。2结构元素的原点都定义在对输入图像感兴趣的位置处。3结构元素的原点指定了图像中需要处理的像素范围,结构元素中数值为1的点决定了结构元素邻域中的像素在进行膨胀或腐蚀操作时是否需要参与计算。01二维(平面)结构元素由一个数值为0或1的矩阵组成,通常比待处理的图像小得多。三维或非平面的结构元素使用0和1来定义结构元素在X和Y平面上的范围,采用第三维来定义高度。02MATLAB的形态函数使用以下函数来获得任意大小和维数的结构元素的原点坐标:origin=floor((size(nhood)+1)/2)在以上语句中,nhood是指结构元素定义的邻域。结构元素在MATLAB中被定义为一个称为STREL的对象。getsequence函数返回一个分解后的结构元素数组。NOTE:通常可以选择一个与希望处理的输入图像相同形状的结构元素。1可以使用MATLAB图像处理工具箱函数strel来创建任意大小的STREL对象。2Strel函数支持许多种常用形状,如线形(line)、钻石形(diamond)、圆盘形(disk)、球形(ball)和任意形状(arbitrary)等。3如,以下语句将创建一个平面钻石结构元素:se=strel(’diamond’,3)MATLAB使用imdilate函数进行图像膨胀。调用格式:BW2=imdi
文档评论(0)