matlab 图像几何变换+答案
更新时间:2024-01-29 02:45:01 阅读量: 教育文库 文档下载
- matlab安装教程推荐度:
- 相关推荐
实验四:图像几何变换(编程 报告) 一、 实验目的
(1) 学习几种常见的图像几何变换,并通过实验体会几何变换的效果;
(2) 掌握图像平移、剪切、缩放、旋转、镜像、错切等几何变换的算法原理及编程实现
(3) 掌握matlab编程环境中基本的图像处理函数 (4) 掌握图像的复合变换 二、 涉及知识点
(1) 图像几何变换不改变图像像素的值,只改变像素所在的几何位置 (2) 图像裁剪imcrop函数,语法格式为:
B=imcrop(A);交互式用鼠标选取区域进行剪切
B=imcrop(A,[left top right bottom]);针对指定的区域[left top right bottom]进行剪切
(3) 图像缩放imresize函数,语法格式为: 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.bmp裁剪成200X200大小
(2) 制作动画,将一幅图像逐渐向左上角平移移出图像区域,空白的地方用白色
填充
(3) 利用剪切图像函数制作动画
(4) 将图像分别放大1.5倍和缩小0.8倍,插值方法使用双线性插值法,分别显
示图像。
(5) 将图像水平镜像,再顺时针旋转45度,显示旋转后的图像。
(6) 将图像分别进行水平方向30度错切,垂直方向45度错切,分别显示结果 四、 实验环境
Windows下matlab编程环境 五、 实验源代码及结果
1. 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');
2. 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
3. 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
4. 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倍');
5. 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度');
6. 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)); end end
subplot(132);
imshow(uint8(f1)); title('水平30度');
f2=zeros(h(1),h(2)+round(h(2)*tan(pi/4)),h(3)); for m=1:h(1) for n=1:h(2)
f2(m,n+round(m*tan(pi/4)),1:h(3))=f(m,n,1:h(3)); end end
subplot(133);
imshow(uint8(f2)); title('垂直45度');
六、
心得体会
正在阅读:
matlab 图像几何变换+答案01-29
分布式光伏电站专业运维手册 - 图文12-13
宜家的体验营销03-28
绿色发展,乡村振兴的必由之路09-10
《小鹿斑比》阅读测试03-18
《东方与西方的科学》教学设计01-06
C#中调用存储过程的简单示例04-08
同期系统调试报告10-29
初中英语论文范文初中英语教师论文:浅谈初中英语教学法03-08
汽车尾气检测中心建设项目可研报告03-08
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 几何
- 变换
- 图像
- 答案
- matlab
- 企业会计准则第37号--金融工具列报应用指南
- 每天看一遍让你成熟至少5岁
- 浅谈重大版高中英语教材之课前导入
- 兰大网院管理经济学课程作业 - B
- 犬细小治疗方法
- 非营利组织案例
- 2018届上海市各区高三英语二模试卷题型分类专题试题汇编--中英翻译--学生版(已校对)
- 小学语文人教版 七年级上册7《再塑生命的人》优质课公开课教案教师资格证面试试讲教案
- 大学生职业生涯规划范文(师范类)(1)
- 小学教育随笔集锦
- 1《计算比赛场次》
- 税务系统业务能力升级测试大纲—征管评估类
- 张仰森 - 人工智能原理及其应用(第二版)习题答案
- MPPT
- 山东大学微生物各个章节学习辅导 - 图文
- 当代中国政治制度(最新整理重点)
- 建筑施工现场危险源辨识和安全评价
- 南昌银行2010年信贷政策指引
- 《混凝土结构设计原理》厦门大学
- 英文投稿常用(自己收集、整理、总结)