# Find the euclidean distance

3 views (last 30 days)
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.

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.
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)

Show 1 older comment
Chathu on 3 Dec 2014
Image Analyst- i have RGB images. improfile function still works for RGB images, correct?
Do i have to edit the below portion of your snippet? (eg: from grey to color) [x, y, grayLevels] = improfile();
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 on 4 Dec 2014
Alright. Thanks alot for the response.

### More Answers (1)

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 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?

### Community Treasure Hunt

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

Start Hunting!

Translated by