一千萬個為什麽

搜索

MATLAB - 在2D矩陣區域中查找最大值

我在找到如何在2D矩陣的定義區域中找到最大值時遇到問題。我也需要找到坐標。

現在,我有這個:

B ... 2Dmatrix 
[row_val row_ind] =max(B, [], 1) ;
[col_val col_ind] =max(row_val) ;
[r c] =find(B==max(B(:))) ;
[s_v s_i] =max(B(:)) ;
[r c] =ind2sub(size(B), s_i)

它只是找到最大值的坐標,但我無法選擇矩陣的區域來查找最大值。

最佳答案

% extract region of interest
BRegion = B(rowStart:rowEnd, colStart:colEnd);

% find max value and get its index
[value, k] = max(BRegion(:));
[i, j] = ind2sub(size(BRegion), k);

% move indexes to correct spot in matrix
i = i + rowStart-1;
j = j + colStart-1;

轉載註明原文: MATLAB - 在2D矩陣區域中查找最大值