Maximising Pixels within Certain area of Matrix

1 回表示 (過去 30 日間)
Harry Andrews
Harry Andrews 2018 年 7 月 13 日
コメント済み: Harry Andrews 2018 年 7 月 13 日
Hi Everyone,
I'd like to loop through a matrix (128x128) and find the area (Lets say 5x5 Pixels) with the highest pixel values.
What is the best way to do this?
Thanks!
  2 件のコメント
Guillaume
Guillaume 2018 年 7 月 13 日
編集済み: Guillaume 2018 年 7 月 13 日
What is the definition of an area with the highest pixel values? One whose sum of pixel values is the greatest? One whose maximum is the greatest? Something else?
Harry Andrews
Harry Andrews 2018 年 7 月 13 日
編集済み: Harry Andrews 2018 年 7 月 13 日
One whose sum of pixel values is the greatest please :)
Thank you for helping!

サインインしてコメントする。

採用された回答

Guillaume
Guillaume 2018 年 7 月 13 日
編集済み: Guillaume 2018 年 7 月 13 日
One whose sum of pixel values is the greatest
Convolve your matrix with an array of 1 the same size as the area. The location of the maximum of the convolution is the centre of the area with the highest sum:
areasum = conv2(yourmatrix, ones(5)), 'same');
[~, idx] = max(areasum);
[centrerow, centrecol] = ind2sub(size(yourmatrix), idx)
  1 件のコメント
Harry Andrews
Harry Andrews 2018 年 7 月 13 日
This is perfect, thank you <3

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by