算法框架和步骤可以以图像旋转算法为参考:点击跳转
要求:
算法实现为函数 [im]=aff(I,T),其中I为读入的图像矩阵;T为仿射变换矩阵。
参考测试代码:(顺时针旋转30度)
I =imread('peppers.png');
delta_ang = pi/3;
T1=[cos(delta_ang) sin(delta_ang) 0;
-sin(delta_ang) cos(delta_ang) 0;
0 0 1];
[im]= aff (I, T1) ;
imshow(I);figure, imshow(im);
仿射变换公式:
i´= a*i+b*j+aij´= c*i+d*j+aj
[i´,j´,1]=
[i, j, 1][a b 0;c d 0;ai aj 1];
function [im] = aff(I,T)
[m,n,s] = size(I);
a = T(1,1);
b = T(1,2);
c = T(2,1);
d = T(2,2);
ai = T(3, 1);
aj = T(3,2);
i_min = round(min(min(min(min(a*m+b*n+ai,a*m+b*1+ai),a*1+b*n+ai),a*1+b*1+ai)));
i_max = round(max(max(max(max(a*m