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 に答える