distance between several objects in binary image

3 visualizaciones (últimos 30 días)
Abo
Abo el 1 de Dic. de 2014
Comentada: Faiz Yusoff el 20 de Feb. de 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)?

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (1)

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

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by