How to compare the intensity of the central pixel with its 8 neighboring pixel in an image? Can anyone help me with its matlab code? Also I have to save my central pixel if its intensity value is greater than other pixels.
이전 댓글 표시
How to compare the intensity of the central pixel with its 8 neighboring pixel in an image? Can anyone help me with its matlab code? Also I have to save my central pixel if its intensity value is greater than other pixels.
채택된 답변
추가 답변 (1개)
Image Analyst
2015년 8월 9일
What does "compare" mean to you? If you want to scan an image with a 3x3 window and just create an output image where the the pixel is true if it's the greatest/highest value in a 3x3 window, use imregionalmax():
% See where the pixel is greater then the 8 surrounding neighbors
regionalMaxImage = imregionalmax(grayImage, 8);
Attached below the image is the full demo:

댓글 수: 2
kiruthika r
2015년 8월 9일
Image Analyst
2015년 8월 9일
In that case, use imdilate() with a ring-shaped structuring element and a < comparison:
% Create a kernel to get the max of the 8 surrounding pixels
structuringElement = [1,1,1;1,0,1;1,1,1];
% Do the dilation
dilatedImage = imdilate(grayImage, structuringElement);
% See where the pixel is greater then the 8 surrounding neighbors
itsBigger = dilatedImage < grayImage;
% Display the local max image.
subplot(2, 1, 2);
imshow(itsBigger, []);
axis on;
title('Local Max', 'FontSize', fontSize, 'Interpreter', 'None');
카테고리
도움말 센터 및 File Exchange에서 Nearest Neighbors에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!