实验三 图像处理MATLAB 实验.docVIP

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

实验三 图像处理MATLAB 实验 实验目的和要求 熟悉MATLAB中数字图像处理工具箱(Image Processing Toolbox)的基本使用方法和常用函数; 熟练图像的矩阵表示方法; 掌握图像处理的基本算法及函数调用,如直方图、二值化、图像分割、图像增强、图像变换等等。 通过MATLAB在图像处理中的应用,体会MATLAB矩阵运算的技巧。 实验设备及材料 计算机,MATLAB2010 实验内容 对任意灰度图像(最好是MATLAB 自带图像)进行以下操作: 输入一幅灰度图像; 调用im2bw,输出其二值化图像; 调用imhist函数,输出其直方图; 其上输入输出放在一个figure中,并加title。以脚本文件的形式保存。 2. 自己编写二值化函数、直方图函数,以函数文件的形式保存。通过调用自己编写的函数验证其有效性。 3. 对任意灰度图像加高斯噪声,利用中值滤波和平均滤波对其进行平滑,观察平滑效果,将原图像、噪声图像、滤波后图像显示在一个figure中。 4. 通过调用edge函数对任意图像进行边缘提取,使用3种以上的算子(如sobel\prewitt等),比较每种算子分割效果,在一个figure中显示。 5、用MATLAB实现对图像的JPEG压缩编码。(此题不做要求,感兴趣的同学可以尝试编写) 解:1、如下所示: I=imread('cell.tif'); subplot(2,2,1); imshow(I) title(' 源图像'); bw=im2bw(I,0.5); subplot(2,2,2); imshow(bw) title('二值化图像'); subplot(2,2,3) imhist(I) title(' 直方图'); 在命令窗键入m文件名:shiyan3cell 结果如下所示: 2、直方图函数文件如下: %文件名为zft.m function y=zft(I) x=double(I); //此句不要也可,因为I=imread('autumn.tif')读出的是整形的,有的需要用双字节型的则需要转换 [M,N]=size(x); h=zeros(1,256); //产生1个1*256的一维向量,用于存放每个灰度值的个数 for i=1:M, for j=1:N, f=I(i,j); h(f+1)=h(f+1)+1; //注意用h(f+1)是因为matlab中的数组不能从零开始 end end y=h; //y要有返回值,否则该函数无作用 注:如果用h(f)=h(f)+1的话,调用运行时会出现如下报错: Attempted to access h(0); index must be a positive integer or logical. Error in zft1 (line 8) h(f)=h(f)+1; 调用显示程序如下: (1)当读入的图像为RGB彩色图像时要转成灰度图像再求其直方图 I=imread('autumn.tif'); x=rgb2gray(I); s=zft1(x); subplot(2,2,1); imshow(I) title(' 源图像'); subplot(2,2,2); imshow(x) title(' 灰度图像'); subplot(2,2,3); bar(s) title(' 直方图') y=imhist(x); subplot(2,2,4); bar(y) title(' matlab自带的直方图函数imhist的图'); 结果如下: (2)当读入的图像自身就为灰度图像时直接求其直方图 I=imread('trees.tif'); s=zft1(I); subplot(2,2,1); imshow(I) title(' 源图像'); subplot(2,2,2); bar(s) title(' 直方图') y=imhist(I); subplot(2,2,3); bar(y) title(' matlab自带的直方图函数imhist的图'); 运行结果如下: 二值化函数文件如下: %function函数名为erzhi.m function k=erzhi(I) I=double(I); //该句没有也正确 [M,N]=size(I); IK=I; for p=1:M; for q=1:N; if I(p,q)>=90 IK(p,q)= 255; //若此处将其赋值为逻辑1,则不正确。因为I=imread('autumn.tif')读出的是一幅图像的灰度

文档评论(0)

专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!

1亿VIP精品文档

相关文档