Filter löschen
Filter löschen

how to find the distance of all objects in given image

4 Ansichten (letzte 30 Tage)
Rahul punk
Rahul punk am 11 Mai 2021
Kommentiert: Rahul punk am 22 Mai 2021

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by