作者geminicstar (小散)
看板MATLAB
标题[问题] 二维矩阵旋转
时间Mon Dec 19 21:07:39 2011
如题!!!小弟我参考了wiki的旋转公式如下超连结:
http://zh.wikipedia.org/zh-tw/%E6%97%8B%E8%BD%89%E9%81%8B%E5%8B%95
所以写了这样的语法出来.....
[法一]
----------------------------------------------------
a=imread('1.jpg');
[x,y]=size(a);
for t=0:45:360 %旋转角度
for ii=1:x
for jj=1:y
A=[cos(t) -sin(t);sin(t) cos(t)]; %转换
C=[ii,jj];
C1=C*A;
end
end
end
----------------------------------------------------
[法二]
----------------------------------------------------
[x,y]=size(re); % re为输入影像名称
for ii=1:x
for jj=1:y
for angle=1:45:360
x1=ii*cos(angle);
y1=jj*sin(angle);
nx=x1*cos(angle)-y1*sin(angle);
ny=y1*cos(angle)+x1*sin(angle);
re(ii,jj)=re(nx,ny);
end
end
end
----------------------------------------------------
我想用re(ii,jj)里头存转换後的结果
[法一]跟[法二]都跟我预期的结果不同!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.199.43
1F:→ Raymond0710:imrotate 12/19 22:51
2F:→ geminicstar:矩阵会变大~无法用欧几里得去计算 12/20 09:47