how to find distance between two points in an image

12 visualizaciones (últimos 30 días)
sindhu c
sindhu c el 16 de En. de 2016
Comentada: Walter Roberson el 29 de Mzo. de 2018
hello! i have an image something like this.
how to obtain the distance between the dot above i and the line in i? the image of i is attached below.
please help me with the code... thank you!
<<
>>

Respuesta aceptada

harjeet singh
harjeet singh el 16 de En. de 2016
try to use this
img=imread('i2.png');
figure(1)
imshow(img)
hold on
[lab,num]=bwlabel(img);
[r,c]=find(lab==1);
[r1,c1]=find(lab==2);
D = pdist2([r c],[r1 c1],'euclidean'); % euclidean distance
[r2,c2]=find(D==min(D(:)));
point_1=[r(r2) c(r2)];
point_2=[r1(c2) c1(c2)];
plot([point_1(2) point_2(2)],[point_1(1) point_2(1)],'r')
hold off
distance=sqrt( (point_1(1)-point_2(1)).^2 + (point_1(2)-point_2(2)).^2)
distance =
42.1070
  7 comentarios
aaditya CHANDEL
aaditya CHANDEL el 29 de Mzo. de 2018
distance unit?
Walter Roberson
Walter Roberson el 29 de Mzo. de 2018
The distance unit is pixels.

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 16 de En. de 2016
  1 comentario
sindhu c
sindhu c el 16 de En. de 2016
thank you sir! in both of the above links we need to know column and row vectors, how to find the position vectors for dot and line in the above image attached?

Iniciar sesión para comentar.

Categorías

Más información sobre Image Segmentation and Analysis 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