0

我有一个关于 MATLAB 的小问题。

我有一个 3D 阵列,其中每个 2D 层都是一张图片。我需要的是该数组中每个像素的最小值的“第三”索引(=层数)。最后我想要一个二维数组,其中我有这些最低值的索引。

一个例子:

具有这 2 个 2D 层的 3D 阵列:

第 1 层:

3-5-6
1-4-2
7-5-2

第 2 层:

1-8-2 
4-6-1 
9-2-5

结果应该是以下数组:

2-1-2
1-1-2
1-2-1

我希望你能看到我想要达到的目标,对不起我的英语不好,我无法用语言来表达我的问题......

感谢您的帮助。

4

1 回答 1

5

让我们A成为矩阵然后你可以使用

[B, I] = min(A, [], 3);

哪里B是最小值并I包含索引。如果您对最小值不感兴趣,可以使用

[~, I] = min(A, [], 3);

为你举例

>> A(:,:,1) = [3 5 6; 1 4 2; 7 5 2];
>> A(:,:,2) = [1 8 2; 4 6 1; 9 2 5];
>> [B,I]=min(A, [], 3)
B =
     1     5     2
     1     4     1
     7     2     2
I =
     2     1     2
     1     1     2
     1     2     1
于 2013-08-08T10:49:30.520 回答