簡體   English   中英

MATLAB:獲取3D數組中最小值的索引

[英]MATLAB: get index of minima in 3D array

我對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

我希望你能看到我想要實現的目標,對不起我的英語不好,我真的無法用語言表達我的問題...

謝謝您的幫助。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM