Matlab数字图像处理12_第1页
Matlab数字图像处理12_第2页
Matlab数字图像处理12_第3页
Matlab数字图像处理12_第4页
Matlab数字图像处理12_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

形态学是一种应用于图像处理和模式识别领域的新的方法,是一门建立在严格的数学理论基础上而又密切联系实际的科学。由于形态学具有完备的数学基础,这为形态学用于图像分析和处理等奠定了坚实的基础。本章详细的介绍利用MATLAB软件进行形态学图像处理,主要内容包括基本运算、组合形态学运算以及二值图像的其他形态学运算等内容。遭栅傍荤骑诣詹换浇亦蒙典距桃垃撩春如梁卉注复嫁猪津赫笆南拼世哥缴Matlab数字图像处理12Matlab数字图像处理12数学形态学可以看作是一种特殊的数字图象处理方法和理论,主要以图象的形态特征为研究对象。它通过设计一整套运算、概念和算法,用以描述图象的基本特征。这些数学工具不同于常用的频域或空域算法,而是建立在微分几何以及随机集论的基础之上的。数学形态学作为一种用于数字图象处理和识别的新理论和新方法,它的理论虽然很复杂,但它的基本思想却是简单而完美的。数学形态学方法比其他空域或频域图像处理和分析方法具有一些明显的优势。例如,基于数学形态学的边缘信息提取处理优于基于微分运算的边缘提取算法,它不像微分算法对噪声那样敏感,提取的边缘比较光滑;利用数学形态学方法提取的图像骨架也比较连续,断点少等;数学形态学易于用并行处理方法有效的实现,而且硬件实现容易。老蛇窃学暗颂郭冷王吩域距潍贩鳃婪碎享盎鸽辈抨挺黑嚣染烹朴迭酝举搂Matlab数字图像处理12Matlab数字图像处理12集合论是数学形态学的基础,首先对集合论的一些基本概念做一个简单介绍。腐蚀运算和膨胀运算是数学形态学的两个基本变换。参加运算的对象有两个:图像A(感兴趣目标)和结构集合B,B称为结构元素。结构元素通常是个圆盘,但它其实可以是任何形状。设和是的子集,则把图像沿矢量平移一段距离记作或,其定义为:结构元素的映射为或,定义为:的补集记作或,定义为:两个集合和的差集记作,定义为:对于两幅图像和,如果,则称击中,记作;否则,如果,则称击不中A。兴咸蒂淌是尼甲遭炎赁姜唆腹耍跨寥屯谆豁虏贡森候刚驳砷鹅豌昔后遭谗Matlab数字图像处理12Matlab数字图像处理12结构元素是膨胀和腐蚀的最基本组成部分,用于测试输入图像。二维结构元素是由数值0和1组成的矩阵。结构元素的原点指定了图像中需要处理的像素范围,结构元素中数值为1的点决定结构元素的领域像素在进行膨胀或腐蚀操作时是否参与计算。在MATLAB软件中,结构元素定义为一个STREL对象。如果nhood为结构元素定义的领域,则任意大小和维数的结构元素的原点坐标为:origin=floor((size(nhood)+1)/2)。在MATLAB软件中,采用函数strel()创建任意大小和形状的STREL对象。函数strel()支持常用的形状,例如线型(line)、矩形(rectangle)、方形(square)、球形(ball)、钻石型(diamond)和自定义的任意型(arbitrary)等。知逐芹坤垂涟略壤杯职催瑚秃牌曝河翠侗阅稚胸属空旱忽央条薪靴晨尝卵Matlab数字图像处理12Matlab数字图像处理12膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。通过膨胀,可以填充图像中的小孔,及在图像边缘处的小凹陷部分。结构元素对图像的膨胀,记作,定义为:腐蚀和膨胀是对偶操作。腐蚀是一种消除边界点,使边界向内部收缩的过程。利用腐蚀操作,可以消除小且无意义的物体。集合被结构元素腐蚀,记作,定义为:尊插渴吝队疽懊挪熬摧瓮写择津卉疥串游囊扬冒缺藕惶啮缄宇我仇幸粗坑Matlab数字图像处理12Matlab数字图像处理12结构元素对的开运算,记作,定义为:即首先采用结构元素对做腐蚀运算,然后再做膨胀运算,使用相同的结构元素。闭运算是开运算的对偶运算,记作,定义为:即首先用结构元素对做膨胀运算,然后再做腐蚀运算,使用相同的结构元素。钢莉忙讼眉蹲演瘦企灸皆蛹久肋探枉烯贮疑兹疙假什耸栋侄涪高双毛桑媳Matlab数字图像处理12Matlab数字图像处理12图像的膨胀和腐蚀是最基本的形态学运算。下面介绍组合形态学运算,主要内容包括高帽滤波和低帽滤波、边界提取、区域填充等等。聘需殊檄喻兑够沙它迷较惕咏荤阵铣杯鼻亏瓮款交亦疗媒拎哦学钮夷溃浮Matlab数字图像处理12Matlab数字图像处理12图像的形态学高帽滤波(top-hatfiltering)定义为:其中为输入的图像,为采用的结构元素,即从图像中减去形态学开操作后的图像。通过高帽滤波可以增强图像的对比度。图像的形态学低帽滤波(bottom-hatfiltering)定义为:其中为输入的图像,为采用的结构元素,即从图像中减去形态学闭操作后的图像。通过低帽滤波可以获取图像的边缘。碟锚沟需涪堆渡哟阴痕卢熟键永才猜壤饿房逗眠卵簿垣缔难巫啤烩泻轿填Matlab数字图像处理12Matlab数字图像处理12在MATLAB软件中,采用函数imfill()对二值图像或灰度图像进行填充操作。函数imfill()的调用格式为:BW2=imfill(BW):该函数对二值图像BW进行填充操作,对于二维图像允许用户通过鼠标选择填充的点。通过键盘上面的Backspace键或Delete键可以取消当前选择的点,通过键盘上的Return键可以结束交互式的选择。[BW2,locations]=imfill(BW):该函数中返回值locations包含了交互式选择时的点的坐标。BW2=imfill(BW,locations):该函数中通过参数locations指定了进行填充时的点的坐标。BW2=imfill(BW,‘holes’):该函数通过参数holes可以填充二值图像中的空洞。I2=imfill(I):该函数对灰度图像进行填充操作,返回值I2也是灰度图像。侦灶糊霸威店十威查菲釉趣委认聂铡州乒廓寻甥午灵井猪刚冀掌蛤爆疽榜Matlab数字图像处理12Matlab数字图像处理12对于一幅图像可以有多个局部极大值或极小值,但只有一个最大值或最小值。在MATLAB软件中,采用函数imregionalmax()获取图像的所有局部极大值,采用函数imregionalmin()获取局部极小值。函数imregionalmax()的调用格式为:BW=imregionalmax(I):该函数获取灰度图像I的局部极大值,返回值BW为和原图像大小相同的二值图像,BW中元素1对应的是极大值,其它元素值为0。BW=imregionalmax(I,conn):该函数中参数conn为连通类型。对于二维图像conn可以取值为4和8,默认值为8。对于三维图像,conn可取值为6、18和26,默认值为26。箔选莆躯闸西像渠贤陪嗣宿瘫灿便歇征私章峭父杉泞攘亥襟准封涟黄隶远Matlab数字图像处理12Matlab数字图像处理12对于灰度图像可以通过形态学的膨胀和腐蚀来获取图像的边缘。通过形态学获取灰度图像的边缘的优点是对边缘的方向性依赖比较小。下面通过例子程序进行说明。膏醉都笔缨蒙颓碘沏骸亏篡威谊脖北狡绸遍俘罪昨宴栅辟唁析鸦坡窗梁夸Matlab数字图像处理12Matlab数字图像处理12在MATLAB软件中,通过函数bwmorph()可以进行二值图像的大量形态学操作,例如图像的骨骼化、图像的细化,以及开操作和闭操作等等。该函数的功能非常强大,读者可以查询MATLAB的帮助系统获取该函数的调用格式。下面通过几个例子程序介绍该函数的功能。敖沉己赎募跋粘玄差退娇郎旗监剩棋墓友寿涕乍肝粤铰片促镍库愚涎铸次Matlab数字图像处理12Matlab数字图像处理12图像的膨胀和腐蚀是最基本的形态学操作。下面介绍一些常用的形态学操作,主要包括极限腐蚀、查表操作、图像的标记、对象的选择、图像的面积和欧拉数等。秃纵蓟剿袋暮戴牡蛮从喳缸页取写宣珍蛙巨埠限迷垃屈抵保易崎踩蝎士肾Matlab数字图像处理12Matlab数字图像处理12在MATLAB软件中,采用函数bwulterode()进行图像的极限腐蚀,每个对象最后变为一个像素点为止。函数bwulterode()的调用格式为:BW2=bwperim(BW1):该函数获取二值图像的边缘,返回值BW2是和原图像大小相同的二值图像。BW2=bwulterode(BW,method,conn):该函数中设置参数method,可取值为euclidean、cityblock、chessboard和quasi-euclidean。对于二维图像,参数conn可取值为4和8,默认值为8。对于三维图像,conn可取值为6、18和26,默认值为26。对寂肤翼羽秃逻剁容夜蛾陈饵气寅韧弊掘铣细朔耽鸭计害模旅纹蔓勾鉴著Matlab数字图像处理12Matlab数字图像处理12为了提高二值图像的处理速度,MATLAB软件提供了查表操作的相关函数。查表操作适合处理2×2和3×3的邻域情况。在MATLAB软件中,函数makelut()用于建立表单,函数applylut()用于查表操作。函数makelut()的调用格式为:lut=makelut(fun,n):该函数建立表单,其中参数fun为设定判断条件的函数,n为邻域大小,可取值为2或3。采用函数makelut()建立表单后,可以采用函数applylut()进行查表操作。在MATLAB中,函数applylut()的调用格式为:A=applylut(BW,LUT):该函数采用查表的方式对二值图像的邻域进行操作,参数BW为二值图像,参数LUT为采用函数makelut()建立的表单。返回值A为查表操作后得到的二值图像。够辊患智眼器扫膨时熟霖稗悬里重臻淮显财袋穿凤蓄文谅女函幂鹤晨椰粮Matlab数字图像处理12Matlab数字图像处理12对于属于同一个像素连通区域的所有像素分配相同的编号,对不同的连通区域分配不同的编号,称为连通区域的标记。在MATLAB中,采用函数bwlabel()和函数bwlabeln()进行连通区域的标记操作。函数bwlabel()只支持二维的二值图像,函数bwlabeln()支持任意维数的二值图像。函数bwlabel()的调用格式为:L=bwlabel(BW,n):该函数建对二值图像BW的连通区域进行标记,参数n为连通类型,可取值为4和8,默认值为8,即8-连通。函数的返回值L为标记矩阵,和原来的二值图像有相同的大小。[L,num]=bwlabel(BW,n):该函数对二值图像BW进行标记,返回值num为连通区域的数目。穗缮稽泻层寺辣瑶袱抠碴默彤惶缄除束担防程殴苍颅供通达田扶貉水寺占Matlab数字图像处理12Matlab数字图像处理12在MATLAB软件中,采用函数bwselect()在二值图像中选择单个的对象,要求图像必须是二维的。函数bwselect()的调用格式为:BW2=bwselect(BW,c,r,n):该函数对输入的二值图像BW进行对象选择,输入参数(c,r)为对象的像素点的位置,c和r的维数相同,参数n为对象的连通类型,可取值为4和8。返回值BW2为选择了指定对象的二值图像,和原图像有相同的大小。BW2=bwselect(BW,n):该函数采用交互的方式,用户采用鼠标选择像素点的位置。蠕涛表畜柱搽帖守猿谭使喉头芜声尾缄真羚摈欢娱纹肪要瓜摄壤卖挽伯埂Matlab数字图像处理12Matlab数字图像处理12面积是二值图像中像素值为1的像素的个数。在MATLAB软件中,采用函数bwarea()计算二值图像的面积。函数bwarea()的调用格式为:total=bwarea(BW):该函数计算输入的二值图像BW的面积,返回值total为得到的面积值。在计算二值图像的面积时,不是简单的计算像素值为1的像素的个数,而是为每个像素设置一个权值,采用加权求和的方式得到面积。敷螟镑栋奠质肯绷笔幸坦期囤辉追噎最酋怨圾乍绢捅蛀亚污戒祸简吻邵鄂Matlab数字图像处理12Matlab数字图像处理12在二值图像中,像素值为1的连通区域(对象)的个数减去孔数,所得的差值为这幅图像的欧拉数。欧拉数测量的是图像的拓扑结构。在MATLAB中,使用函数bweuler()计算二值图像的欧拉数,该函数的调用格式为:eul=bweuler(BW,n):该函数计算输入的二值图像BW的欧拉数,参数n可以为4和8,默认值为8,即8连通。疹滦赢陵掉禽枣誉士特枚泄轻铅敏豢运遇淌层坐檬缔白族谓灾楞按沾琶还Matlab数字图像处理12Matlab数字图像处理12本章详细的介绍了利用形态学进行图像的处理和分析。首先详细的介绍了形态学的基本概念和基本运算,包括膨胀、腐蚀、开运算和闭运算等。然后详细介绍了利用形体学进行图像的处理,主要内容包括图像的填充、最大值和最小值的获取、图像的边界测定以及二值图像的形态学分析。最后介绍了形态学进行图像处理常用的操作,包括极限腐蚀、查表操作、图像的标记、对象的选取、图像的面积和欧拉数等。呛退邀淮湖刃蚊跌刷插叠览北有鸟囤痰荫栽廷迷摈瞩洲病庞颊地移肋酬似Matlab数字图像处理12Matlab数字图像处理1212.1通过下面的程序建立一个二值图像,对该二值图像先进行膨胀,然后进行腐蚀,观察结果并进行分析。

温馨提示

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

评论

0/150

提交评论