如何在Matlab中旋转轴对象

时间:2015-01-25 15:50:47

标签: matlab rotation axes

我正在寻找一种在Matlab中用轴旋转图像的方法。我尝试使用rotateimrotate来实现这一目标,但这两项功能都不适用于我。有人知道如何解决我的问题吗?

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()

1 个答案:

答案 0 :(得分:2)

为了清楚起见,无法旋转axes对象。但您可以旋转图像数据,然后在旋转状态下再次显示它们。

函数imrotate会旋转"图像数据"您提供输入并返回表示旋转图像数据的矩阵。因此,在您的情况下,请勿在读取文件后直接显示。获取变量中的图像数据,使用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 ) 

会产生: rotated