init = imread('4946978_left.png'); % 讀取圖像
[R, C] = size(init); % 獲取圖像大小
res = zeros( R,? C); % 構(gòu)造結(jié)果矩陣又谋。每個(gè)像素點(diǎn)默認(rèn)初始化為0(黑色)
alfa = -15 * 3.1415926 / 180.0; % 旋轉(zhuǎn)角度
tras = [cos(alfa) -sin(alfa) 0; sin(alfa) cos(alfa) 0; 0? 0 1]; % 旋轉(zhuǎn)的變換矩陣
for i = 1 : R
? ? for j = 1 : C
? ? ? ? temp = [i; j; 1];
? ? ? ? temp = tras * temp;% 矩陣乘法
? ? ? ? x = uint16(temp(1, 1));
? ? ? ? y = uint16(temp(2, 1));
? ? ? ? % 變換后的位置判斷是否越界
? ? ? ? if (x <= R) && (y <= C) && (x >= 1) && (y >= 1)
? ? ? ? ? ? res(i, j) = init(x, y);
? ? ? ? end
? ? end
end
imshow(uint8(res));? % 顯示圖像