find 8 neighbours in image

19 Ansichten (letzte 30 Tage)
Sajid Rahim
Sajid Rahim am 21 Sep. 2017
Beantwortet: Mehadi Hasan am 22 Okt. 2021
hi dears..... plz help me
how i find the 8 neighbours around the white pixels...
  3 Kommentare
RASHMI CHINNAPPA
RASHMI CHINNAPPA am 4 Jul. 2020
how to find the 8 neighbours around a single white region
Image Analyst
Image Analyst am 4 Jul. 2020
Use imdilate() then and it with the original
neighbors = imdilate(bw, true(3)) & ~bw;

Melden Sie sich an, um zu kommentieren.

Antworten (2)

KSSV
KSSV am 21 Sep. 2017
Read about knnsearch
I = imread('2.png') ;
I = rgb2gray(I) ;
[y,x] = find(I) ;
% 8 nearest neighbors
[ny,nx] = size(I) ;
[X,Y] = meshgrid(1:nx,1:ny) ;
% global indices
idx = knnsearch([X(:) Y(:)],[x,y],'k',8) ;
% sub indices
[i,j] = ind2sub(size(I),idx) ;
  2 Kommentare
Sajid Rahim
Sajid Rahim am 16 Okt. 2017
Bearbeitet: Walter Roberson am 17 Okt. 2017
clear all;
[filename
pathname]=uigetfile('*.jpg;*.png;*.tif;*.tiff;*.gif;*.bmp;');
inputimage=imread([pathname filename]);
I=inputimage;
% I = imread('5.png') ;
I = rgb2gray(I) ;
[y,x] = find(I) ;
figure
imshow(I)
hold on
plot(x,y,'.b')
% x
% y
% z=(y+x)/2
% plot(z,'.r')
a=x(1)
b=y(1)
plot(x(1),y(1),'*y')
plot(x(end),y(end),'*y')
% neighbors(1) = (a,b-1);
neighbors(1) = I(a,b-1);
plot(a,b-1,'*r')
neighbors(2) = I(a,b+1);
plot(a,b+1,'*r')
neighbors(3) = I(a,b+2);
plot(a,b+2,'*r')
neighbors(4) = I(a+1,b);
plot(a+1,b,'*r')
neighbors(5) = I(a+1,b+1);
plot(a+1,b+1,'*r')
neighbors(6) = I(a+2,b+2);
plot(a+2,b+2,'*r')
neighbors(7) = I(a+2,b);
plot(a+2,b,'*r')
neighbors(8) = I(a+2,b+1);
plot(a+2,b+1,'*r')
neighbors(9) = I(a+2,b+2);
plot(a+2,b+2,'*r')
this is my code i done it
but now i wana to find each 8 neighbers of every finded neibgher
Walter Roberson
Walter Roberson am 17 Okt. 2017
This code does not answer the questions "Find them in what sense? What output are you looking for?"

Melden Sie sich an, um zu kommentieren.


Mehadi Hasan
Mehadi Hasan am 22 Okt. 2021
I = imread('2.png') ;
I = rgb2gray(I) ;
[y,x] = find(I) ;
% 8 nearest neighbors
[ny,nx] = size(I) ;
[X,Y] = meshgrid(1:1x,1:1y) ;
% global indices
idx = knnsearch([X(:1) Y(:1)],[x,y],'k',8) ;
% sub indices
[i,j] = ind2sub(size(I),idx) ;

Community Treasure Hunt

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

Start Hunting!

Translated by