how to find the neighbour pixel having maximum value?

i have calculated the parzen density for an image. Now i have to find the maximum valued pixel of an image in the 3x3 matrix window

6 Commenti

This question is too vague to post a meaningful answer. It matters in which format the input data are available.
sir, i have the input image of 256x256 size. i want to find maximum neighboring pixel for each pixel in a 3x3.. (i.e) each pixel have 8 surrounding pixel, in that 8 pixel i have to find the pixel having maximum value. likewise i have to find for all pixels in the image..
By using for loop, for every window arrange your pixels in an array, find the maximum one. And replace that in current pixel(center pixel of your window) position.
Instead of that you can use 'blockproc' MATLAB inbuilt function.
thank you. plz help me to code this.
thank you sir.

Accedi per commentare.

 Risposta accettata

out = imdilate(grayImage, true(3)); % In the IMage Processing Toolbox.

1 Commento

Your original question said to look in the 3 by 3 window - all 9 pixels. But your latest comment says to look only to the 8 neighbors and don't include the central pixel. So in that case, you need to make a "hole" in the center of the structuring element:
out = imdilate(grayImage, [1,1,1;1,0,1;1,1,1]);
The above looks only at the 8 pixels on the outer border, and does not look at the 9th pixel in the very center.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by