Maximising Pixels within Certain area of Matrix
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
Réponse acceptée
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)
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!