如何在 Matlab 中旋转轴对象
How to rotate axes object in Matlab
我正在寻找一种在 Matlab 中沿轴旋转图像的方法。我曾尝试使用 rotate
和 imrotate
来实现此目的,但这两个功能对我都不起作用。有人知道如何解决我的问题吗?
imshow(imread('theImage.png'),'Parent',handles.axes3);
imrotate(handles.axes3, 45); %simply doesn't work
set(handles.axes3,'Rotation',45); %no 'Rotation' in axes
%I don't even know how to use just rotate()
需要说明的是,无法旋转 axes
对象。但是您可以旋转图像数据,然后以旋转后的状态再次显示它们。
函数 imrotate
会旋转您在输入中提供的 "image data" 和 return 表示旋转图像数据的矩阵。所以在你的情况下,不要在读取文件后直接显示。获取变量中的图像数据,用 imrotate
旋转它,然后显示旋转后的图像(或者用它做你需要的)
举个例子:
img = imread('peppers.png') ; %// get the image data into the variable "img"
img2 = imrotate(img,90) ; %// get the "rotated" image data into the variable "img2"
%// display both "img" and "img2"
subplot(1,2,1) ; imshow( img )
subplot(1,2,2) ; imshow( img2 )
将产生:
我正在寻找一种在 Matlab 中沿轴旋转图像的方法。我曾尝试使用 rotate
和 imrotate
来实现此目的,但这两个功能对我都不起作用。有人知道如何解决我的问题吗?
imshow(imread('theImage.png'),'Parent',handles.axes3);
imrotate(handles.axes3, 45); %simply doesn't work
set(handles.axes3,'Rotation',45); %no 'Rotation' in axes
%I don't even know how to use just rotate()
需要说明的是,无法旋转 axes
对象。但是您可以旋转图像数据,然后以旋转后的状态再次显示它们。
函数 imrotate
会旋转您在输入中提供的 "image data" 和 return 表示旋转图像数据的矩阵。所以在你的情况下,不要在读取文件后直接显示。获取变量中的图像数据,用 imrotate
旋转它,然后显示旋转后的图像(或者用它做你需要的)
举个例子:
img = imread('peppers.png') ; %// get the image data into the variable "img"
img2 = imrotate(img,90) ; %// get the "rotated" image data into the variable "img2"
%// display both "img" and "img2"
subplot(1,2,1) ; imshow( img )
subplot(1,2,2) ; imshow( img2 )
将产生: