how to find the distance of all objects in given image

7 visualizaciones (últimos 30 días)
Rahul punk
Rahul punk el 11 de Mayo de 2021
Comentada: Rahul punk el 22 de Mayo de 2021

Respuesta aceptada

DGM
DGM el 11 de Mayo de 2021
Editada: DGM el 11 de Mayo de 2021
This will give an array mapping the distance from every object to every other object. You could reduce this with triu() if you want, due to the symmetry.
inpict = rgb2gray(imread('dots.jpeg'))>128;
L = bwlabel(inpict); % this identfies all the objects
C = regionprops(inpict,'centroid');
C = vertcat(C.Centroid);
D = sqrt((C(:,1)-C(:,1).').^2 + (C(:,2)-C(:,2).').^2);
If you wanted to find the distance to the nearest object, you could use this (there are probably other ways).
D(abs(D)<1E-6) = NaN; % remove zeros
[Dn Nn] = min(D,[],2); % minimize
% Dn is distance to nearest neighbor
% Nn is nearest neighbor
.
  18 comentarios
DGM
DGM el 21 de Mayo de 2021
I don't know what that means.
Rahul punk
Rahul punk el 22 de Mayo de 2021
i d'nt required center distance i have only required corner to corner distances. i agree with DGm Answer.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by