how to find the distance of all objects in given image

7 vues (au cours des 30 derniers jours)
Rahul punk
Rahul punk le 11 Mai 2021
Commenté : Rahul punk le 22 Mai 2021

Réponse acceptée

DGM
DGM le 11 Mai 2021
Modifié(e) : DGM le 11 Mai 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 commentaires
DGM
DGM le 21 Mai 2021
I don't know what that means.
Rahul punk
Rahul punk le 22 Mai 2021
i d'nt required center distance i have only required corner to corner distances. i agree with DGm Answer.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by