- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab-图像几何变换
学 号
14102500892
光电图像处理实验报告
实验一:
图像几何变换
作 者
肖剑洪
专 业
电子科学与技术
学 院
物理与电子学院
指导老师
王晓明
完成时间
2013.12.2
实验一 图像几何变换
一、实验目的
图像几何变换是图像处理与分析的基础内容之一。使学生掌握图像平移、
镜像、缩放和旋转等几何变换的方法以及程序实现。
二、实验设备
联想图像处理工作站
三、实验内容及要求
图像几何变换不改变图像的像素值,而是改变像素所在的几何位置,具有独特的方法。本实验的内容如下:
1.学会使用Matlab的图像处理工具箱(Image Processing Toolbox)。使学生初步具备使用该软件处理图像信息能力,并可以利用该软件完成本课程规定的其他实验和作业。
2.编程实现图像平移,要求平移后的图像大小不变;
3.编程实现图像的镜像;
4.编程实现图像的比例缩放,要求分别用最近邻插值、双线性插值和双三次插值三种方法来实现,并比较缩放效果;
5.编程实现以任意角度对图像进行旋转变换。
四、实验原理
1.图像平移
????从上到下、从左到右依次计算新图像中的每个像素(x, y)在源图像中对应的坐标值(x0, y0);
????? 即: x0 = x – △x,y0 = y – △y
其中,△x、△y分别是水平和垂直偏移量。
2.图像镜像
???? 从上到下、从左到右依次计算新图像中的每个像素(x, y)在源图像中对应的坐标值(x0, y0);
???? 即: x0 = fWidth – x,y0 = y 水平镜像
????? x0 = x,y0 = fHeight – y 垂直镜像
其中,fWidth、fHeight分别是图像的宽度和高度。
3.图像比例缩放
图像比例缩放是指将给定的图像在x轴方向按比例缩放倍,在y轴方向按比例缩放倍,从而获得一幅新的图像。从上到下、从左到右依次计算新图像中的每个像素(x, y)在源图像中对应的坐标值(x0, y0);即:
x0 = [x / fx + 0.5],y0 = [y / fy + 0.5]
其中,fx、fy分别是水平和垂直方向的缩放比率,中括号表示对括号内表达
式取整。
图像的比例缩放所产生的图像中的像素可能在源图像中找不到相应的像素
点,这时就需要进行插值处理,通常可用最近邻插值和双线性插值算法来实现。
(1) 最近邻插值
对通过反变换得到的浮点坐标进行简单的取整操作,得到一个整数型坐标,
这个整数型坐标对应的原图像的像素值就是新图像的像素值。
(2)双线性插值
对通过反变换得到的浮点坐标,求出此浮点坐标对应原图像四个邻域整数型
坐标的灰度值,然后经过双线性插值得到新图像的像素值。
(3) 双三次插值
对通过反变换得到的浮点坐标,求出此浮点坐标对应原图像16 个邻域整数
型坐标的灰度值,然后经过双三次插值得到新图像的像素值。
4.图像旋转
一般图像的旋转是以图像的中心为原点,将图像上的所有像素都旋转一个相同的角度。如图所示:
新图像坐标与原图像坐标对应关系:
两个常量:
图像旋转之后会出现许多空洞点,须对这些空洞点进行插值处理。可用近邻插值,均值插值算法。
五、实验步骤
1.根据实验内容的要求在Matlab软件中编写相应程序;
2.调试运行程序,并记录结果;
3.完成实验报告。
六、实验程序清单和实验结果及分析
1.图像平移
I = imread(f:/1.jpg);
se = translate(strel(1), [25 25]);
J = imdilate(I,se);
imshow(I), title(Original)
figure, imshow(J), title(Translated);
图像镜像
A=imread(f:/1.jpg);
[height,width,dim]=size(A);
tform=maketform(affine,[-1 0 0;0 1 0;width 0 1]);
B=imtransform(A,tform,nearest);
tform2=maketform(affine,[1 0 0;0 -1 0;0 height 1]);
C=imtransform(A,tform2,nearest);
subplot(1,3,1),imshow(A);
title(原图像);
subplot(1,3,2),imshow(B);
title(水平镜像);
subplot(1,3,3),imshow(C);
title(竖直镜像);
图像比例缩放
T1 = maketform(affine,[2 0 0; 0 1 0; 0 0 1]);
T2 = maketform(aff
文档评论(0)