基本思路:
为了避免直接旋转时,旋转后坐标值(即矩阵索引)为非整数值。
这里以旋转后的图像R为主,往回旋转并邻近取整,当R中坐标点转回后与原图I中坐标点位置一致时,将原图中对应的灰度值赋值给旋转图像,最后实现旋转。
源码:
function rotate(I)
%旋转图像
%输入:图像矩阵 (彩色可用Matlab自带图像 onion.png,灰度可用 rice.png 进行测试
%%
%图像大小
if numel(size(I)) > 2
[row,col,dep] = size(I);
flag = 1;
else