数字图像处理9-图像的平移与旋转.pdf

数字图像处理9-图像的平移与旋转.pdf

ID:56698685

大小:288.43 KB

页数:4页

时间:2020-07-05

数字图像处理9-图像的平移与旋转.pdf_第1页
数字图像处理9-图像的平移与旋转.pdf_第2页
数字图像处理9-图像的平移与旋转.pdf_第3页
数字图像处理9-图像的平移与旋转.pdf_第4页
资源描述:

《数字图像处理9-图像的平移与旋转.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、这次作业的内容是要完成让图片绕任意一点旋转的效果,同时要了解图像旋转的原理。为了达到这一目的,我在老师的示例代码上进行了改进,并自己计算出新的变换矩阵,达到了作业中要求的效果。这里我们先来看一下旋转的效果。旋转中心(0,0),旋转60°旋转中心(0,0),旋转120°旋转中心(100,0),旋转120°旋转中心(0,600),旋转120°图像的大小是690*728,旋转的角度为顺时针,因此可以看到四副图中的结果都是符合预期的。之后我们来通过代码,详细的分析这一变化实现的过程。代码如下:closeall;f=imread('try.jpg');theta=2*p

2、i/3;x0=0;y0=600;T=[cos(theta)sin(theta)0-sin(theta)cos(theta)0001];t1=[100010-x0-y01];t2=[100010x0y01];T=t1*T*t2;tform=maketform('affine',T);[g,xdata,ydata]=imtransform(f,tform,'FillValue',255);imshow(g,'XData',xdata,'YData',ydata);holdon;imshow(f);axisauto;axison;读入图像后,先设定了三个参数,x0y

3、0就是旋转中心的坐标,而theta就是旋转角(顺时针)。这里要详细说明一下这几个矩阵的作用,并且推导出其生成的过程。首先最主要的矩阵T,是负责旋转的矩阵。以下这个图片摘自网络,可以说较为完整的解释了这个矩阵的来历。如图,利用勾股定理,旋转后与原点距离不变,和差化积公式可以较为简单的得到二维的旋转变换矩阵。又由于矩阵需要齐次化,最终的旋转矩阵就是:T=[cos(theta)sin(theta)0-sin(theta)cos(theta)0001];改变旋转中心的操作就比较简单了,由于单独用T做变换是绕原点旋转,那么先把图像平移,让旋转中心与原点重合,随后再做绕原

4、点的旋转,最后再平移回来,就可以达到绕某一点旋转的目的。完成平移操作的变换矩阵是t1和t2,当(x,y,1)与t1相乘后会变为(x-x0,y-y0,1),所以原先在(x0,y0)的点就来到了原点,此时绕这一点旋转就产生了绕(x0,y0)点旋转的形状,随后再用t2将图像平移会原先的位置,就完成了这次变换。所以综上所述,最终参与变换的矩阵就是t1*T*t2,也就是:T=[cos(theta)sin(theta)0-sin(theta)cos(theta)0X0-x0*cos(theta)+y0*sin(theta)y0-x0*sin(theta)-y0*cos(t

5、heta)1]随后程序中定义了一个变换对象tform,定义为变换矩阵为T的仿射变换。随后imtransform函数就是实现这一变换的函数,“fillvalue”,255指用白色填充空的区域,而返回值中多出的xdata和ydata,分别记录了转换后图像的起始、终止点的横纵坐标。后续的imshow函数中利用这个坐标重新定义了起始与终止点,保证图像的起始点与原点重合,这样就可以确保旋转变的结果输出在正确的位置。后面的axis函数则是控制轴的打开与自动缩放,来让显示界面中的图像出现在合适的位置。此外,这个程序相比于老师给的示例程序做了一点小的优化。之前的绘制顺序是先画

6、原图,后画旋转后的图像。这样如果旋转角度小于90°,或旋转中心在x轴正方向上时,新图像的白色填充会遮住原图的一部分。而改变了顺序后,由于原图没有填充区域,因此不会产生白色的空隙,但是重叠的区域仍然只能显示一层。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。