我的图片 Im 大小为50x129
:
黄色的大cercle的一部分,蓝色的空间。
我使用imrotate()
以 -45°的角度旋转此图像 Im ,我得到 ImR :
我想计算图片的新尺寸 ImR ?
执行此操作的一种方法是使用 ImR 的函数axis
:
axises = axis;
w1=axises(2)-axises(1);
h1=axises(4)-axises(3);
但我希望独立于生成的图像...我的意思是,我想知道原始图像的大小和旋转角度,得到旋转图像的大小。
我打算使用此代码在A
点附近以t
角度旋转点Origin
。
function Af = rotate(A,t,Origin)
% Definition of the rotation matrix (rotation around origin)
R=[ ...
cosd(t) -sind(t)
sind(t) cosd(t)
];
% translation
At = A - Origin;
% rotation of the points A and B
Ar = R*At;
答案 0 :(得分:0)
使用旋转矩阵计算旋转图像的角点位置。并将它们全部放在矩阵中,如下所示:
rotImgCorners = [
x_topLeft , y_topleft;
x_top_right , y_top_right;
%//... bottom left ...
%//... bottom right ...
]
然后新图像的大小为:
%// [horizontal size, vertical size] - you can switch it around if you whish
newImgSize = max(rotImgCorners, [], 1) - min(rotImgCorners, [], 1);