0

我正在尝试提取矩阵的特定区域,然后找到该区域内的最大值并提取其周围的值以形成一个新的 9x9 矩阵。

这是我迄今为止发现的,我认为需要实施的内容:

% extract region
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; 

在具有索引的区域中找到最大值后,我如何通过在其周围的 9x9 区域中获取值并使用最大值作为中心来构建新矩阵?

4

1 回答 1

0
% extract region
rowstart = 300;
rowend = 500;
colstart = 3500;
colend = 4500;
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;

% creates new matrix
new_row_begin = i-4;
new_row_end = i+4;
new_col_begin = j-4;
new_col_end = j+4;

newmat = B(new_row_begin:new_row_end,new_col_begin:new_col_end);
于 2012-08-20T17:48:02.687 回答