在matlab中的3d数组的页面的排列

时间:2014-05-13 12:39:48

标签: matlab permutation d3dimage

我在MATLAB中有一个代表图像的3D数组。我想反转页面的位置(在我的情况下切片)。 让我们假设页数是N.我想用Nth替换第一页,用第(N-1)th替换第二页等等。在matlab中有没有任何函数可以做到。现在我使用下面的代码,但我必须避免嵌套for循环,这就是为什么我正在寻找准备好的函数。任何帮助将不胜感激。

提前谢谢

I = ones(size(Image,1),size(Image,2),size(Image,3));
k=1;
for n=size(Image,3):-1:1
    I(:,:,k) = Image(:,:,n);
    k = k+1;
end

2 个答案:

答案 0 :(得分:2)

你可以简单地

I = Image(:,:,end:-1:1);

答案 1 :(得分:2)

另一种可能性,它允许您使用相同的表示法沿任何维度翻转数组:

I = flipdim(Image, 3); %// 3 is the dimension you want to flip along