matlab 图像几何变换+答案.doc

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

实验四:图像几何变换(编程 报告) 实验目的 学习几种常见的图像几何变换,并通过实验体会几何变换的效果; 掌握图像平移、剪切、缩放、旋转、镜像、错切等几何变换的算法原理及编程实现 掌握matlab编程环境中基本的图像处理函数 掌握图像的复合变换 涉及知识点 图像几何变换不改变图像像素的值,只改变像素所在的几何位置 图像裁剪imcrop函数,语法格式为: B=imcrop(A);交互式用鼠标选取区域进行剪切 B=imcrop(A,[left top right bottom]);针对指定的区域[left top right bottom]进行剪切 图像缩放imresize函数,语法格式为: B = imresize(A,m,method) 这里参数method用于指定插值的方法,可选用的值为nearest(最邻近法),bilinear(双线性插值),bicubic(双三次插值),默认为nearest。 B = imresize(A,m,method)返回原图A的m倍放大的图像(m小于1时效果是缩小)。 图像旋转imrotate函数,语法格式为: B = imrotate(A,angle,’crop’),参数crop用于指定裁剪旋转后超出图像的部分。 实验内容 将图像hehua.bmp裁剪成200X200大小 制作动画,将一幅图像逐渐向左上角平移移出图像区域,空白的地方用白色填充 利用剪切图像函数制作动画 将图像分别放大1.5倍和缩小0.8倍,插值方法使用双线性插值法,分别显示图像。 将图像水平镜像,再顺时针旋转45度,显示旋转后的图像。 将图像分别进行水平方向30度错切,垂直方向45度错切,分别显示结果 实验环境 Windows下matlab编程环境 实验源代码及结果 f=imread(hehua.bmp); figure; imshow(f); title(原图); f2=imcrop(f,[50,50,250,250]); figure; imshow(uint8(f2)); title(裁剪后); imwrite(f2,d:/5/hehua1.bmp); f=imread(hehua1.bmp); [m,n,x]=size(f); f=double(f); for i=1:10 mx=10*i; my=10*i; g=zeros(m,n,x)+255; %g(mx+1:m,my+1:n,1:x)=f(1:m-mx,1:n-my ,1:x); g(1:m-mx,1:n-my ,1:x)=f(mx+1:m,my+1:n,1:x); figure; imshow(uint8(g)); end f=imread(hehua1.bmp); [m,n]=size(f); for i=50:10:200 m=i; n=i; f2=imcrop(f,[n,n,m,m]); figure; imshow(uint8(f2)); end f=imread(hehua1.bmp); figure; imshow(f); title(原图); f=double(f); f1=imresize(f,1.5,bilinear); figure; imshow(uint8(f1)); title(放大1.5倍); f2=imresize(f,0.8,bilinear); figure; imshow(uint8(f2)); title(缩小0.8倍); f=imread(hehua1.bmp); subplot(131); imshow(f); title(原图); [m,n,x]=size(f); g=zeros(m,n,x); for i=1:m for j=1:n for k=1:x g(i,j,k)=f(i,n-j+1,k); end end end subplot(132); imshow(uint8(g)); title(水平镜像); f2=imrotate(g,45,crop); subplot(133); imshow(uint8(f2)); title(顺时针旋转45度); f=imread(hehua1.bmp); subplot(131); imshow(f); title(原图); h=size(f); f1=zeros(h(1)+round(h(2)*tan(pi/6)),h(2),h(3)); for m=1:h(1) for n=1:h(2) f1(m+round(n*tan(pi/6)),n,1:h(3))=f(m,n,1:h(3))

您可能关注的文档

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档