- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这次作业的内容是要完成让图片绕任意一点旋转的效果,同时要了解图像旋转的原理。为了 达到这一目的,我在老师的示例代码上进行了改进,并自己计算出新的变换矩阵,达到了作 业中要求的效果。这里我们先来看一下旋转的效果。 旋转中心(0,0 ),旋转60° 旋转中心(0,0 ),旋转120° 旋转中心(100,0),旋转120° 旋转中心(0,600 ),旋转120° 图像的大小是690*728,旋转的角度为顺时针,因此可以看到四副图中的结果都是符合预期 的。之后我们来通过代码,详细的分析这一变化实现的过程。代码如下: close all; f = imread(try.jpg); theta = 2* pi / 3; x0=0; y0=600; T = [cos(theta) sin(theta) 0 -sin(theta) cos(theta) 0 0 0 1]; t1=[ 1 0 0 0 1 0 -x0 -y0 1]; t2=[1 0 0 0 1 0 x0 y0 1]; T=t1*T*t2; tform = maketform(affine,T); [g, xdata, ydata] = imtransform(f,tform, FillValue,255); imshow(g,XData,xdata,YData,ydata); hold on; imshow(f); axis auto; axis on; 读入图像后,先设定了三个参数,x0y0 就是旋转中心的坐标,而theta 就是旋转角(顺时针)。 这里要详细说明一下这几个矩阵的作用,并且推导出其生成的过程。首先最主要的矩阵 T , 是负责旋转的矩阵。以下这个图片摘自网络,可以说较为完整的解释了这个矩阵的来历。 如图,利用勾股定理,旋转后与原点距离不变,和差化积公式可以较为简单的得到二维的旋 转变换矩阵。又由于矩阵需要齐次化,最终的旋转矩阵就是: T = [cos(theta) sin(theta) 0 -sin(theta) cos(theta) 0 0 0 1]; 改变旋转中心的操作就比较简单了,由于单独用T 做变换是绕原点旋转,那么先把图像平 移,让旋转中心与原点重合,随后再做绕原点的旋转,最后再平移回来,就可以达到绕某一点旋 转的目的。完成平移操作的变换矩阵是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) 0 X0-x0*cos(theta)+y0*sin(theta) y0-x0*sin(theta)-y0*cos(theta) 1] 随后程序中定义了一个变换对象tform ,定义为变换矩阵为T 的仿射变换。随后imtransform 函数就是实现这一变换的函数,“fillvalue ”,255 指用白色填充空的区域,而返回值中多出的 xdata 和ydata ,分别记录了转换后图像的起始、终止点的横纵坐标。后续的imshow 函数中 利用这个坐标重新定义了起始与终止点,保证图像的起始点与原点重合,这样就可以确保旋 转变的结果输出在正确的位置。后面的axis 函数则是控制轴的打开与自动缩放,来让显示界 面中的图像出现在合适的位置。 此外,这个程序相比于老师给的示例程序做了一点小的优化。之前的绘制顺序是先画原图, 后画旋转后的图像。这样如果旋转角度小于 90 °,或旋转中心在x 轴正方向上时,新图像 的白色填充会遮住原图的一部分。而改变了顺序后,由于原图没有填充区域,因此不会产生 白色的空隙,但是重叠的区域仍然只能显示一层。
有哪些信誉好的足球投注网站
文档评论(0)