我正在尝试使用以下代码手动旋转图像。
clc;
m1 = imread('owl','pgm'); % a simple gray scale image of order 260 X 200
newImg = zeros(500,500);
newImg = int16(newImg);
rotationMatrix45 = [cos((pi/4)) -sin((pi/4)); sin((pi/4)) cos((pi/4))];
for x = 1:size(m1,1)
    for y = 1:size(m1,2)
        point =[x;y] ;
        product = rotationMatrix45 * point;
        product = int16(product);
        newx =product(1,1);
        newy=product(2,1);
        newImg(newx,newy) = m1(x,y);
    end
end
imshow(newImg);
只需我遍历图像的每个像素m1,将 m1(x,y) 与旋转矩阵相乘,我得到x',y',并将m1(x,y)in 的值存储到 `newImg(x',y')'但它给出了以下错误
??? Attempted to access newImg(0,1); index must be a positive integer or logical.
Error in ==> at 18
        newImg(newx,newy) = m1(x,y);
我不知道我做错了什么。