Effacer les filtres
Effacer les filtres

distance between several objects in binary image

3 vues (au cours des 30 derniers jours)
Abo
Abo le 1 Déc 2014
Commenté : Faiz Yusoff le 20 Fév 2021
Does anyone know how can I find distance between these three animals from each other in a binary image (distance between each two red points)?

Réponse acceptée

Image Analyst
Image Analyst le 1 Déc 2014
I already gave code for something almost identical to that here.
  6 commentaires
Image Analyst
Image Analyst le 20 Fév 2021
@Faiz Yusoff I already answered this in another post of yours.
Faiz Yusoff
Faiz Yusoff le 20 Fév 2021
noted thank you so much!

Connectez-vous pour commenter.

Plus de réponses (1)

yanqi liu
yanqi liu le 20 Fév 2021
sir, may be use the follow code
clc; clear all; close all;
img=imread('image.jpeg');
J = rgb2lab(img);
a = mat2gray(J(:,:,2));
bw = im2bw(a, graythresh(a));
bw = imclose(bw, strel('disk', 5));
stats = regionprops(bw);
cens = cat(1, stats.Centroid);
figure;
imshow(img);
hold on;
plot(cens(:,1), cens(:,2), 'co', 'MarkerFaceColor', 'c');
dis_m = [];
for i = 1 : size(cens, 1)
pti = cens(i,:);
if i > size(cens, 1)/2+1
continue;
end
for j = 1 : size(cens, 1)
if i == j
continue;
end
ptj = cens(j,:);
dis = norm(pti-ptj);
dis_m(i,j) = dis;
plot([pti(1) ptj(1)], [pti(2) ptj(2)], 'r--', 'LineWidth', 2);
text(mean([pti(1) ptj(1)]), mean([pti(2) ptj(2)]), sprintf('%.1f', dis), 'Color', 'm', 'FontSize', 15);
end
end

Catégories

En savoir plus sur Image Processing and Computer Vision dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by