# how to find the distance of all objects in given image

9 views (last 30 days)
Rahul punk on 11 May 2021
Commented: Rahul punk on 22 May 2021

DGM on 11 May 2021
Edited: DGM on 11 May 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.
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
.
Rahul punk on 22 May 2021
i d'nt required center distance i have only required corner to corner distances. i agree with DGm Answer.

### Categories

Find more on Image Arithmetic in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by