how to find distance between two points in an image

12 visualizzazioni (ultimi 30 giorni)
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!
<<
>>

Risposta accettata

harjeet singh
harjeet singh il 16 Gen 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 Commenti

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 16 Gen 2016
  1 Commento
sindhu c
sindhu c il 16 Gen 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?

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by