利用Matlab中的P矩阵实现图像的N×M旋转

利用Matlab中的P矩阵实现图像的N×M旋转,matlab,matlab-figure,Matlab,Matlab Figure,我有一个变量X,它是32乘32乘32。我想通过imagesc显示人脑的图像。但是,通过我运行的代码(见下文),我获得了以下图像: 我想将其旋转90度,使脊索位于图的底部。我已经尝试了imrotate和flipdim等算法,但这些算法只会给我一个绿色屏幕 到目前为止,我的代码是: clc; clear all; close all; set(0,'defaulttextinterpreter','latex',... 'DefaultAxesFontSize',16,'defaultLi

我有一个变量X,它是32乘32乘32。我想通过
imagesc
显示人脑的图像。但是,通过我运行的代码(见下文),我获得了以下图像:

我想将其旋转90度,使脊索位于图的底部。我已经尝试了
imrotate
flipdim
等算法,但这些算法只会给我一个绿色屏幕

到目前为止,我的代码是:

clc; clear all; close all;
set(0,'defaulttextinterpreter','latex',...
    'DefaultAxesFontSize',16,'defaultLineLineWidth',2) %use LaTeX
h1=figure('units','normalized','outerposition',[0 0 1 1]); %create Figure.
filename = 'testnew51.gif';
X = analyze75read('Anatomical.img');
Y=analyze75read('Mask.img');

hsurface=imagesc(squeeze(X(:,15,:)));
C=imrotate(hsurface,-90);

axis equal
colormap jet
shading interp

figure
B=flipdim(hsurface,1);
imagesc(B)

figure
imagesc(C)
非常感谢,, Ryan

谢谢HamtaroWarrior。在x轴上循环的工作代码如下所示:

 X = analyze75read('Anatomical.img');
Y=analyze75read('Mask.img');
for i=1:32;
Xy=(rot90((squeeze(X(i,:,:)))));
imagesc(Xy);
title([num2str(i)]);
pause(0.5);
clear Xy
end

在显示图形后,您是否尝试过使用
轴ij
轴xy
。我想要旋转数据,而不仅仅是轴值。你试过在数据上使用吗?谢谢@HamtaroWarrior-这就成功了。它不仅旋转轴,还旋转图像。不知道为什么它不起作用,但我很高兴另一个解决方案起了作用。