distance between several objects in binary image

1 Ansicht (letzte 30 Tage)
Abo
Abo am 1 Dez. 2014
Kommentiert: Faiz Yusoff am 20 Feb. 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)?

Akzeptierte Antwort

Image Analyst
Image Analyst am 1 Dez. 2014
I already gave code for something almost identical to that here.
  6 Kommentare
Image Analyst
Image Analyst am 20 Feb. 2021
@Faiz Yusoff I already answered this in another post of yours.
Faiz Yusoff
Faiz Yusoff am 20 Feb. 2021
noted thank you so much!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

yanqi liu
yanqi liu am 20 Feb. 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

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by