how to select neighbouring 5 pixels of an image

2 views (last 30 days)
I wanted to take one pixel from an image say im(x,y)
then take the neighbouring 5 pixels of position im(x,y)
find the maximum value of the 5 pixels and save it in maxIm(x,y)
please can someone help me write the code - i also want to do it for all the pixels in the image, so that i get maxIm the same size as im
(5 must be 4-neighbourhood pixels, including the center pixel)

Accepted Answer

Walter Roberson
Walter Roberson on 23 Apr 2019
imdilate(YourImage, ones(11,11) )
The 11 is determined as "5 pixels in each direction relative to the center pixel".
It is plausible that you might want ones(5,5) instead, in which case the neighbourhood would be
*****
*****
**C**
*****
*****
where C marks the center pixel.
Your question is ambiguous about what the 5 means.
  6 Comments
Elysi Cochin
Elysi Cochin on 24 Apr 2019
No, not a vector, must be a single value
Walter Roberson
Walter Roberson on 24 Apr 2019
YourMatrix./imdilate(YourMatrix, [0 1 0;1 1 1;0 1 0])

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!