圖像旋轉 matlab程序


clear;clc
init=imread('原始路徑程序');             %讀入原始圖像
[R, C,m] = size(init); % 獲取圖像大小
res = 255*ones( R,  C,m); % 構造結果矩陣。每個像素點默認初始化爲255(白色)
alfa = -15 * 3.1415926 / 180.0; % 旋轉角度
tras = [cos(alfa) -sin(alfa) 0; sin(alfa) cos(alfa) 0; 0 0 1]; % 旋轉的變換矩陣
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));  % 顯示圖像
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章