MATLAB数字图像的腐蚀填充细化与粗化.docxVIP

MATLAB数字图像的腐蚀填充细化与粗化.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB数字图像的腐蚀填充细化与粗化

《数字图像处理》实验报告姓名学号专业电子科学与工程学院实验 5实验目的本次实验的处理对象是二值图像,关于二值图像的处理运算主要包括腐蚀和膨胀。它们是其他处理过程的主要运算环节。开闭操作通过腐蚀和膨胀的不同顺序组合,能够使图像平滑,开闭操作再组合能够成噪声滤波器。形态学中的击中击不中变换也应用了腐蚀的运算,用于判断图像中能否找到目标结构,这在图像细化中也得到了应用。本次实验主要实现:图像的边缘提取;在边缘提取的基础上实现区域填充;在区域填充的基础上实现图像细化;在图像细化的基础上实现图像粗化。在Matlab软件的自带函数库中其实本身就包含有以上处理过程的函数,为了深入理解每种处理过程的原理,本次实验所有运算都自行编写实现。核心代码及运行后截图主函数:%% 读取图像clear;clc;I = imread(onepiece.jpg);I = im2bw(I);% 转换为二值图像[m,n] = size(I);%% 边界提取f = im2bw([0,1,0;1,1,1;0,1,0]);% 腐蚀用的结构元素F = fs(I,f);BW = im2bw(I-F);% 用原图减去腐蚀获得边缘figure;imshow(I);title(原图);figure;imshow(F);title(腐蚀图像);figure;imshow(BW);title(边界);在上面的运行效果图上看来,由于原图选择的原因,周围一圈白线有一定宽度但不足够粗,大概只有2~3个像素宽度而腐蚀用元素大小为3×3,这导致腐蚀后图像留下的白线看起来残缺不全,用原图减去腐蚀后得到的边缘图像也在白线处有“粘在一块”的现象。只要使用更高一些分辨率的图片即可避免这样的情况。但出于后续试验的运行速度考虑,本实验就使用此图(300×300)。观察图像其他地方,有足够的像素宽度被腐蚀,由此提取的边缘也很清晰。%% 区域填充I1 = fillbw(BW,40,40);% fillbw函数实现指定坐标填充边缘内部,详见主函数后的各子函数I1 = I1 | fillbw(BW,40,260);% 为避免不必要的计算量,每次填充迭代次数为70I1 = I1 | fillbw(BW,100,150);% 逐次在图像中选择需填充区域中的起始点以完成填充I1 = I1 | fillbw(BW,100,160);I1 = I1 | fillbw(BW,136,86);I1 = I1 | fillbw(BW,132,212);I1 = I1 | fillbw(BW,147,120);I1 = I1 | fillbw(BW,157,214);I1 = I1 | fillbw(BW,210,171);I1 = I1 | fillbw(BW,206,109);I1 = I1 | fillbw(BW,233,129);I1 = I1 | fillbw(BW,234,140);I1 = I1 | fillbw(BW,237,153);I1 = I1 | fillbw(BW,234,167);I1 = I1 | fillbw(BW,231,178);I1 = I1 | fillbw(BW,248,125);I1 = I1 | fillbw(BW,252,142);I1 = I1 | fillbw(BW,252,162);I1 = I1 | fillbw(BW,247,182);I1 = I1 | fillbw(BW,272,149);I1 = I1 | fillbw(BW,256,50);I1 = I1 | fillbw(BW,253,248);I2 = I1 | F;% 因外围白线边缘之间没有足够空间,很难逐个填充空洞figure;% 故此处直接叠加腐蚀图像,把外围白线加上subplot(1,3,1);imshow(I);title(原图);subplot(1,3,2);imshow(I1);title(区域填充);subplot(1,3,3);imshow(I2);title(区域填充+腐蚀);实际上边缘图像是由原图像减去腐蚀图像得到的,而区域填充是在边缘图像的区域内填满的结果,故理论上来说最后区域填充的结果其实就是原来的腐蚀图像。从上图比较就可以看出,除了区域填充中未填的外围白线外,叠加了腐蚀图像的结果与区域填充是一样的,也与腐蚀图像一样(具体可以查看附件中的”区域填充.jpg”、”腐蚀.jpg”和”区域填充+腐蚀.jpg”)。%% 细化A1 = fs(I2,20);figure;imshow(A1);实验效果图显示细化结果良好,表征了原图像的主要骨架特征。在实现细化算法过程中,一开始在判定是否满足结构元素时采用的方法是实现写好一个元胞数组B{k},然后在程序中调用数组进行比较。后来发现这样的运算速度大大降低

文档评论(0)

xjj2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档