- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华工电信数学实验5-图像轮廓线提取技术
《数学实验》报告 学 院: 电子与信息学院专业班级: 学 号: 姓 名: 实验名称: 图像轮廓线提取技术实验日期: 实验五:图像轮廓线提取技术实验目的与要求了解对matlab的图像处理功能,掌握基本的图像处理方式;掌握imread,imshow,imwrite,subplot,title等的基本使用方法。掌握图像轮廓线提取的简单方法并上机实现。了解matlab自带的边界检测算子的使用,提高对复杂图像处理的能力。问题描述“图像轮廓线提取”是数字图像处理中对图像进行处理和分析之前的一项非常重要的工作。指的是从原始图像中,以手动或自动的方法,将图片中的人物、动物、植物或者其他任何对象的(特征)轮廓线提取出来,使之成为一幅独立的黑白线条图。从而达到将物体与背景分开,物体与物体分开的效果。提取轮廓线被应用于许多方面,例如人脸检测和跟踪。它结合了认知科学、图象处理、计算机图形学、机器视觉和模式识别等多个研究领域。练习1.任意选取一幅灰度图像和一幅彩色图像,对算法中若干关键语句中进行调整,得出不同的实验结果,对这些结果进行分析,并与MATLAB自带的边缘检测做对比。2.提出其它的轮廓线提取方法,与简单阈值法进行比较分析。实验过程1.任意选取一副灰度图像和一幅彩色图像,如下: House.jpg housegray.jpg简单阈值法提取轮廓线,代码如下:function mylinegray(pic,n) %灰度图的轮廓线提取figure;I=imread(pic,jpg);%读取指定的灰度图T=linecalculate(A,n); %计算矩阵轮廓线subplot(1,2,1); %将窗口分割为两行一列,下图显示于第一行A=rgb2gray(I); %将图形转化为真实的二维图imshow(A); %显示原图像title(灰度图原图);axis image; %保持图片显示比例subplot(1,2,2); %下图显示于第二行imshow(T); %显示提取轮廓线后的图片title(简单阈值法提取轮廓线);axis image; %保持图片显示比例function tlab=linecalculate(piclab,n) %计算矩阵轮廓线[a,b]=size(piclab);%a,b分别等于矩阵的行数和列数B=double(piclab); %将矩阵变为双精度矩阵D=40*sin((pi/2)*(1/255)*B); %将矩阵进行非线性变换tlab=piclab; %新建同等大小矩阵for p=2:a-1 %计算矩阵轮廓线 for q=2:b-1 if abs(D(p,q)-D(p,q+1))n||abs(D(p,q)-D(p,q-1))n||abs(D(p,q)-D(p+1,q))n||abs(D(p,q)-D(p-1,q))n||abs(D(p,q)-D(p-1,q+1))n||abs(D(p,q)-D(p+1,q-1))n||abs(D(p,q)-D(p-1,q-1))n||abs(D(p,q)-D(p+1,q+1))n tlab(p,q)=0;%置轮廓线点为黑色 else tlab(p,q)=255; %置非轮廓线点为白色 end endend输入:mylinegray(G:\matlab ex\housegray,2)运行结果:输入:mylinegray(G:\matlab ex\housegray,4.2)运行结果:分析:n越大,则处理后的图像轮廓线越少,图像会变得原来越容易,然而,n过大时易导致轮廓线过少失去原图的形状。b)对彩色图进行处理:实验代码:function mylinecolor(pic,n) %彩色图片轮廓线提取函数figure;A=imread(pic,jpg); %读取指定彩色图片 subplot(3,3,2);imshow(A);title(彩色图原图);axis image; T=A;T(:,:,2)=0;T(:,:,3)=0;subplot(3,3,4);imshow(T);axis image;title(红色强度原图);T=linecalculate(A(:,:,1),n); %计算红色矩阵轮廓线subplot(3,3,7);imshow(T);axis image;title(红色强度轮廓线);T=A;T(:,:,1)=0;T(:,:,3)=0;subplot(3,3,5);imshow(T);axis image;title(绿色强度原
文档评论(0)