How to select a pixel and get its surrounding eight neighbors using nearest neighbor?

2 visualizaciones (últimos 30 días)
How to select a pixel and get its surrounding eight neighbors using nearest neighbor?
The input image is as follows:

Respuestas (1)

Image Analyst
Image Analyst el 27 de Abr. de 2016
use ginput to get the coordinate:
[x, y] = ginput(1);
row = round(y);
col = round(x);
neighbors = [grayImage(row-1, col-1);...
grayImage(row-1, col-1);...
grayImage(row-1, col);...
grayImage(row-1, col+1);...
grayImage(row, col-1);...
grayImage(row, col+1);...
grayImage(row+1, col-1);...
grayImage(row+1, col);...
grayImage(row+1, col+1)];
You can put them in whatever order you find convenient.
  2 comentarios
Jannie Sy
Jannie Sy el 28 de Abr. de 2016
Thanks ImageAnalyst.
After obtaining its 8 neighbors, how do I subject these to voting? I should test the chosen pixel by assigning to a specific class if that class gets four or more votes. Otherwise, the pixel will maintain its class.
Image Analyst
Image Analyst el 29 de Abr. de 2016
Editada: Image Analyst el 29 de Abr. de 2016
I have no idea. Evidently you've read some paper that says you're supposed to get "votes" from neighboring pixels, but we have no knowledge of that paper obviously, or how it determines "votes". You don't even have a classified image at this point - it's just a simple gray scale image, not one with "classes" where each pixel is classified into one class like "road", "house", "ground", "vehicle", "water", or whatever.

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by