how to get the actual distance between two points
2 次查看(过去 30 天)
显示 更早的评论
I have a rectangular arena ,the length and breadth of the rectangle is known in units of centimeters ,I have an image(521*441) of the arena .How can we calculate the distance between any two points in the arena if I know the coordinates of the points in the image??
0 个评论
采纳的回答
Image Analyst
2015-12-17
See my attached spatial calibration demo to let you designate two points and say what the real world distance is. Then measurements you make will be reported in those, for example meters.
2 个评论
Image Analyst
2015-12-17
See my Image Segmentation Tutorial: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
It will show you how to find the centroids. After that, you can order them in whatever order or pattern you want.
更多回答(1 个)
Renato Agurto
2015-12-17
This should do the job:
length_cm = 30;
width_cm = 20;
length_px = 521;
width_px = 441;
length_cm_pro_px = length_cm/length_px;
width_cm_pro_px = width_cm/width_px;
% point1: (x1, y1)
% point2: (x2, y2)
dx = x2-x1;
dy = y2-y1;
distance_in_cm = sqrt((dx*length_cm_pro_px)^2 + (dy*width_cm_pro_px)^2);
cheers!
Renato
3 个评论
Renato Agurto
2015-12-17
Hi. I'm not sure if the answer helped you or not. If your are asking a new question you should create a new topic
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!