MATLAB:获取3D数组中的最小值索引

Pix*_*xel 0 arrays 3d matlab minimum

我对MATLAB有一点疑问.

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

一个例子:

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

第1层:

3-5-6
1-4-2
7-5-2
Run Code Online (Sandbox Code Playgroud)

第2层:

1-8-2 
4-6-1 
9-2-5
Run Code Online (Sandbox Code Playgroud)

结果应该是以下数组:

2-1-2
1-1-2
1-2-1
Run Code Online (Sandbox Code Playgroud)

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

谢谢您的帮助.

Moh*_*nia 5

让我们A可以使用矩阵

[B, I] = min(A, [], 3);
Run Code Online (Sandbox Code Playgroud)

B最小值在哪里并I包含指数.如果您对最小值不感兴趣,可以使用

[~, I] = min(A, [], 3);
Run Code Online (Sandbox Code Playgroud)

对你而言

>> 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
Run Code Online (Sandbox Code Playgroud)