网站大量收购独家精品文档,联系QQ:2885784924

【2017年整理】数字图像处理作业.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【2017年整理】数字图像处理作业

PAGE6/ NUMPAGES10 数字图像处理作业 题目:图像膨胀与图像腐蚀 学院: 班级: 学号: 姓名: 一、实验原理 1、膨胀:给图像中的对象边界添加像素。 将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。利用它可以填补物体中的空洞。B对X膨胀所产生的二值图像D是满足以下条件的点(x,y)的集合:如果B的原点平移到点(x,y),那么它与X的交集非空。数学表达式:BAC?? 可以使用imdilate函数进行图像膨胀,imdilate函数需要两个基本输入参数,即待处理的输入图像和结构元素对象。结构元素对象可以是strel函数返回的对象,也可以是一个自己定义的表示结构元素邻域的二进制矩阵。此外,imdilate还可以接受两个可选参数:PADOPT(padopt) ——影响输出图片的大小、PACKOPT(packopt).——说明输入图像是否为打包的二值图像(二进制图像)。 2、腐蚀:删除对象边界某些像素。 一种消除边界点,使边界向内部收缩的过程。利用它可以消除小而且无意义的物体。B对X腐蚀所产生的二值图像E是满足以下条件的点(x,y)的集合:如果B的原点平移到点(x,y),那么B将完全包含于X中。数学表达式: BAC? 可以使用imerode函数进行图像腐蚀。imerode函数需要两个基本输入参数:待处理的输入图像以及结构元素对象。此外,imerode函数还可以接受3个可选参数:PADOPT(padopt) ——影响输出图片的大小、PACKOPT(packopt).——说明输入图像是否为打包的二值图像(二进制图像)。M——指定原始图像的行数。 二、实验内容 1、膨胀的实验步骤 步骤1,首先创建一个包含矩形对象的二值图像矩阵。 BW=zeros(9,10); BW(4:6,4:7) =1 步骤2,使用一个3×3的正方形结构元素对象对创建的图像进行膨胀。 SE=strel(square,3) 步骤3,将图像BW和结构元素SE传递给imdilate函数。 BW2=imdilate(BW,SE) 步骤4,显示结果。 imshow(BW,notruesize) imshow(BW2,notruesize); 效果图 2、腐蚀的实验步骤 步骤1,读取图像cameraman.tif (该图像是Matlab当前目录下自带的图片) BW=imread(D:\1.jpg ); BW1=rgb2gray(BW); 步骤2,创建一个任意形状的结构元素对象 SE=strel(arbitrary,eye(5)); 步骤3,以图像BW1和结构元素SE为参数调用imerode函数进行腐蚀操作。 BW2=imerode(BW1,SE); 步骤4,显示操作结果 imshow(BW1) ,title(原图像); figure,imshow(BW2),title(腐蚀后的图像); 效果图 3、膨胀和腐蚀联合操作的步骤: 步骤1,创建结构元素: clear;close all SE = strel(rectangle,[40 30]); %注意:结构元素必须具有适当的大小,既可以删电流线又可以删除矩形. 步骤2,使用结构元素腐蚀图像: %将会删除所有直线,但也会缩减矩形 BW=imread(D:\1.jpg ); BW1=rgb2gray(BW); BW2=imerode(BW1,SE); imshow(BW2),title(腐蚀后的图像); figure,imshow(BW1),title(原图像); 步骤3,恢复矩形为原有大小,使用相同的结构元素对腐蚀过的图像进行膨胀. BW3=imdilate(BW2,SE); figure,imshow(BW3), title(膨胀后的图像); 效果图 4、基于膨胀与腐蚀的形态操作——骨架化和边缘检测 (1)骨架化: 某些应用中,针对一副图像,希望对图像中所有对象简化为线条,但不修改图像的基本结构,保留图像基本轮廓,这个过程就是所谓的骨架化。提供了专门的函数bwmorph,可以实现骨架化操作。 clear;close all BW=imread(D:\1.jpg ); BW1=rgb2gray(BW); BW2=bwmorph(BW1,skel,Inf); imshow(BW1) ,title(原图像); figure,imshow(BW2) , title(骨架化); 效果图 (2)边缘检测 对于一副灰度二进制图像,如果图像像素值为1,则该像素的状态为ON,如果其像素值为0,则该像素的状态为OFF。在一副图像中,如果图像某个像素满足以下两个条件: 1.该像素状态为ON, 2.该像素邻域中有一个或多个像素状态为OFF。 则认为该像素为边缘像素。 Matlab中提供了专

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档