DAY13 Matlab直角坐标系实现图像旋转

% 直角坐标系实现图像旋转
im=rgb2gray(imread('robot.jpg'));
figure,imshow(im);
[row,col]=size(im);
a=pi/6; % 逆时针旋转30度

%得到行的初始矩阵
r1=repmat(1:row,row,1);
i=r1';

%得到列的初始矩阵
j=repmat(1:col,col,1);

i1=zeros(row,col);
for m=1:row
for n=1:col
i1(m,n)=round(m*cos(a)-n*sin(a)); %获得旋转后的i像素值 并且取整
end 
end

j1=zeros(row,col);
for m=1:row
for n=1:col
j1(m,n)=round(m*sin(a)+n*cos(a)); %获得旋转后的j像素值 并且取整
end 
end

%判断旋转后的i,j是否小于0 坐标调整
if min(min(i1)) 
   

  

转载于:https://www.cnblogs.com/Qsir/p/5644850.html

你可能感兴趣的:(DAY13 Matlab直角坐标系实现图像旋转)