Find the euclidean distance

2 views (last 30 days)
Chathu
Chathu on 2 Dec 2014
Commented: Chathu on 4 Dec 2014
I want to find the euclidean distance of 1 specific feature in one image.Then the corresponding feature in the second image. How to find the euclidean distance of these two points? Any suggestions.

Accepted Answer

Image Analyst
Image Analyst on 3 Dec 2014
I wouldn't use ginput() or pdist(). I'd use the function improfile() in the Image Processing Toolbox. It's a lot easier to use than imdistline(). Here's a snippet:
% Display sample image.
grayImage = imread('moon.tif');
imshow(grayImage);
title('Left click, then right click');
% Have user draw the line.
[x, y, grayLevels] = improfile();
% Re-Draw the line in the overlay (which normally vanishes)
line([x(1), x(end)], [y(1), y(end)]);
% Compute the distance between the endpoints.
dist = sqrt((x(end)-x(1))^2 + (y(end)-y(1))^2)
  4 Comments
Image Analyst
Image Analyst on 3 Dec 2014
It will still work, as is. You might want to rename variables to make them more accurately descriptive, like rgbImage instead of grayImage.
Chathu
Chathu on 4 Dec 2014
Alright. Thanks alot for the response.

Sign in to comment.

More Answers (1)

Deepesh B
Deepesh B on 2 Dec 2014
use
dist_out = pdist(feature_array,'euclidean');
if u want to use b/w 2 images use this
dist_out = pdist2(i1, i2,'euclidean')
  1 Comment
Chathu
Chathu on 2 Dec 2014
Deepesh- thank you so much for your rapid response. I know the qu that i am going to ask now is quite simple. But i just want to clarify.
Suppose i said as follows: S=ginput(2)
Then the outcome is as follows: S =
157.4501 208.9473
402.7736 205.8420
My qu is: 1st row refers to (x1,y1) and 2nd row denotes (x2,y2). Is that correct?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!