How to find nearby labels?

2 visualizaciones (últimos 30 días)
faran
faran el 25 de Jun. de 2019
Comentada: faten Ahmed el 21 de Jun. de 2021
I have matrix I and I want to show that region with label 1 is neighbours with regions with label 2 and 4. Or region with label 2 is neighbour with region 1,4,5,and 3.
I =
1 1 1 2 3 3
1 1 2 2 3 3
4 4 4 5 5 3
4 4 4 4 5 5

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 25 de Jun. de 2019
Editada: Andrei Bobrov el 25 de Jun. de 2019
I =[...
1 1 1 2 3 3
1 1 2 2 3 3
4 4 4 5 5 3
4 4 4 4 5 5];
N = unique(I);
n = numel(N);
out = cell(n,2);
for ii = 1:n
out(ii,:) = {ii, unique(I(bwdist(I == ii,'chessboard')==1))};
end
or
N = unique(I);
n = numel(N);
out = cell(n,2);
o3 = ones(3);
for ii = 1:n
lo = I == ii;
out(ii,:) = {ii, unique(I(imdilate(lo,o3) + lo == 1))};
end
out_as_table = cell2table(out,'v',{'number','neighbours'})
  1 comentario
faten Ahmed
faten Ahmed el 21 de Jun. de 2021
Hi, Mr Andrei
I want to know the means of the functions on the above code. For example:
rgb2lab means Covert RGB to CIE 1967 L*a*b*
nume1 means ..........................
o3 means ...................
ones (3) means ...............................
cell(n,2); means .............
ii means ............
Io means ..............
I(imdilate(lo,o3) means .....................

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by