版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 图像几何变换一、 实验目的(1) 学习几种常见的图像几何变换,并通过实验体会几何变换的效果;(2) 掌握图像平移、剪切、缩放、旋转、镜像、错切等几何变换的算法原理及编程实现(3) 掌握matlab编程环境中基本的图像处理函数(4) 掌握图像的复合变换二、 涉及知识点(1) 图像几何变换不改变图像像素的值,只改变像素所在的几何位置(2) 图像裁剪imcrop函数,语法格式为:B=imcrop(A);交互式用鼠标选取区域进行剪切B=imcrop(A,left top right bottom);针对指定的区域left top right bottom进行剪切(3) 图像缩放imresize函数,
2、语法格式为:B = imresize(A,m,method)这里参数method用于指定插值的方法,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值),'bicubic'(双三次插值),默认为'nearest'。B = imresize(A,m,method)返回原图A的m倍放大的图像(m小于1时效果是缩小)。(4) 图像旋转imrotate函数,语法格式为: B = imrotate(A,angle,crop),参数crop用于指定裁剪旋转后超出图像的部分。三、 实验内容(1) 将图像hehua.bm
3、p裁剪成200X200大小,并保存(2) 制作动画,将一幅图像逐渐向左上角平移移出图像区域,空白的地方用白色填充(3) 利用剪切图像函数制作动画(4) 将图像分别放大1.5倍和缩小0.8倍,插值方法使用最近邻域法和双线性插值法,对比显示图像。(5) 将图像水平镜像,再顺时针旋转45度,显示旋转后的图像。(6) 将图像分别进行水平方向30度错切,垂直方向45度错切,分别显示结果具体实现:1.将图像hehua.bmp裁剪成200X200大小,并保存I=imread('hehua.bmp');n=size(I);figure;subplot(1,2,1);imshow(I);titl
4、e('原图');I=double(I);I1=zeros(200,200,n(3);I1=I(1:200,1:200,1:n(3);subplot(1,2,2);imshow(uint8(I1);title('裁剪');imwrite(uint8(I1),'hehua1.bmp','bmp');2. 制作动画,将一幅图像逐渐向左上角平移移出图像区域,空白的地方用白色填充I=imread('hehua1.bmp');m,n,l=size(I);figure;imshow(I);title('原图');
5、I=double(I);for i=1:10 x=10*i; y=10*i; subplot(3,4,i); G=zeros(m,n,l)+255; for i=1:m-x-1 for j=1:n-y-1 for k=1:l G(i,j,k)=I(i+x+1,j+y+1,k); end end end imshow(uint8(G); title('平移图');end3. 利用剪切图像函数制作动画I=imread('hehua.bmp');m,n,l=size(I);figure;subplot(3,4,1);imshow(I);title('原图
6、9;);I=double(I);for i=1:10 x=200-i*20; y=200+i*20; subplot(3,4,i+1); G=imcrop(I,x,x,y,y) imshow(uint8(G); end4. 将图像分别放大1.5倍和缩小0.8倍,插值方法使用最近邻域法和双线性插值法,对比显示图像。im=imread('hehua1.bmp');subplot(2,3,1);imshow(im);title('原图');xscale=1.5;yscale=1.5;row,col,r=size(im);row=row*yscale; col=col*
7、xscale;im1=uint8(zeros(uint16(row),uint16(col),uint16(r);for i=1:row for j=1:col x=j/xscale; y=i/yscale; im1(i,j,1)=im(uint16(y),uint16(x),1); im1(i,j,2)=im(uint16(y),uint16(x),2); im1(i,j,3)=im(uint16(y),uint16(x),3); endendsubplot(2,3,2);imshow(im1);title('最近邻域法1.5');im2=uint8(zeros(uint16
8、(row),uint16(col),uint16(r);for i=2:row-1 for j=2:col-1 x=j/xscale; y=i/yscale; left=floor(x); top=floor(y); right=left+1; bottom=top+1; u=x-left; v=y-top; im2(i,j,1)=uint8(1-u)*(1-v)*im(top,left,1)+(1-u)*v*im(top,right,1)+. u*(1-v)*im(bottom,left,1)+u*v*im(bottom,right,1); im2(i,j,2)=uint8(1-u)*(1-
9、v)*im(top,left,2)+(1-u)*v*im(top,right,2)+. u*(1-v)*im(bottom,left,2)+u*v*im(bottom,right,2); im2(i,j,3)=uint8(1-u)*(1-v)*im(top,left,3)+(1-u)*v*im(top,right,3)+. u*(1-v)*im(bottom,left,3)+u*v*im(bottom,right,3); endendsubplot(2,3,3);imshow(im2);title('双线性插值1.5');im=imread('hehua1.bmp
10、9;);subplot(2,3,4);imshow(im);title('原图');xscale=0.8;yscale=0.8;row,col,r=size(im);row=row*yscale; col=col*xscale;im1=uint8(zeros(uint16(row),uint16(col),uint16(r);for i=1:row for j=1:col x=j/xscale; y=i/yscale; im1(i,j,1)=im(uint16(y),uint16(x),1); im1(i,j,2)=im(uint16(y),uint16(x),2); im1(
11、i,j,3)=im(uint16(y),uint16(x),3); endendsubplot(2,3,5);imshow(im1);title('最近邻域法0.8');im2=uint8(zeros(uint16(row),uint16(col),uint16(r);for i=2:row-1 for j=2:col-1 x=j/xscale; y=i/yscale; left=floor(x); top=floor(y); right=left+1; bottom=top+1; u=x-left; v=y-top; im2(i,j,1)=uint8(1-u)*(1-v)*i
12、m(top,left,1)+(1-u)*v*im(top,right,1)+. u*(1-v)*im(bottom,left,1)+u*v*im(bottom,right,1); im2(i,j,2)=uint8(1-u)*(1-v)*im(top,left,2)+(1-u)*v*im(top,right,2)+. u*(1-v)*im(bottom,left,2)+u*v*im(bottom,right,2); im2(i,j,3)=uint8(1-u)*(1-v)*im(top,left,3)+(1-u)*v*im(top,right,3)+. u*(1-v)*im(bottom,left
13、,3)+u*v*im(bottom,right,3); endendsubplot(2,3,6);imshow(im2);title('双线性插值0.8');5. 将图像水平镜像,再顺时针旋转45度,显示旋转后的图像。I=imread('hehua1.bmp');figure;subplot(1,2,1);imshow(I);title('原图');I=double(I);m,n,l=size(I);I1(1:m,1:n,1:l)=I(1:m,n:-1:1,1:l);I2=imrotate(I1,315,'nearest');I3=uint8(I2);subplot(1,2,2);imshow(I3);title('水平镜像顺时针旋转45度');6. 将图像分别进行水平方向30度错切,垂直方向45度错切,分别显示结果I=imread('hehua.bmp');m,n,l=size(I);figure;subplot(1,3,1);imshow(I);title('原图');I=double(I); G=zeros(m,n,l) for i=1:m for j=1:n for k=1:l G(i+round(sqrt(3)/3*j),j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络游戏运营技术支持合同
- 网络游戏平台运营与维护预案
- 网络安全防护软件定制合同
- 2024年港口集装箱运输承运协议范本
- 2024年地区独家代理协议范本
- 环保产业发展及生态保护政策研究
- 物联网设备安装与调试服务合同
- 无人机航拍地图制作服务合同
- 2024年油罐施工质量管理协议
- 教育信息化教学资源共享平台建设方案
- MOOC 国际私法-暨南大学 中国大学慕课答案
- 变压器拆除施工方案及流程
- 朗致集团逻辑测评试卷2024
- 中老年健康-关注中老年人的健康需求
- 江苏开放大学哲学基础过程性考核作业3实践作业
- 洋流的分布及其影响
- 新人教版八年级物理上册导学案全册
- 大学生职业规划大赛成长赛道参赛作品
- 温室气体排放及减排策略
- 香浓可口的焦糖布丁
- 公墓宣传推广策划方案
评论
0/150
提交评论