Finding a 2d block with highest average inside a 2d window

2 次查看(过去 30 天)
Consider a matrix A(52,34) How to find out which 2d block size(3,3) has the highest average in it

采纳的回答

Walter Roberson
Walter Roberson 2018-3-1
[~, idx] = max(conv2(A, ones(3,3),'same'))
[r, c] = ind2sub(size(A), idx);
r and c is now the index of the center of the block that had the highest average.
  2 个评论
MSP
MSP 2018-3-2
编辑:MSP 2018-3-2
r and c is supposed to be single values ,isnt it.If I run with A=magic(7) then it does'nt return single values.
Walter Roberson
Walter Roberson 2018-3-2
[~, idx] = max( reshape(conv2(A, ones(3,3),'same'), [], 1) );
[r, c] = ind2sub(size(A), idx);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Computer Vision with Simulink 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by