Maximising Pixels within Certain area of Matrix

1 vue (au cours des 30 derniers jours)
Harry Andrews
Harry Andrews le 13 Juil 2018
Commenté : Harry Andrews le 13 Juil 2018
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 commentaires
Guillaume
Guillaume le 13 Juil 2018
Modifié(e) : Guillaume le 13 Juil 2018
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 le 13 Juil 2018
Modifié(e) : Harry Andrews le 13 Juil 2018
One whose sum of pixel values is the greatest please :)
Thank you for helping!

Connectez-vous pour commenter.

Réponse acceptée

Guillaume
Guillaume le 13 Juil 2018
Modifié(e) : Guillaume le 13 Juil 2018
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 commentaire
Harry Andrews
Harry Andrews le 13 Juil 2018
This is perfect, thank you <3

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by