How to find the distance between two points on an image using edge detection
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
CHIRANJEEVI KANIKE
le 22 Fév 2021
Commenté : Image Analyst
le 23 Fév 2021
Assume that, I have taken a picture of a catenoid structure with some radius of curvature and now I would like to find the distance between two rings or some random points on the image using edge detection. There is an error when both the image processd length and actual experimental are compared. Any fuctions which can help to find out the distace between some random points on the image.
a = imread('image.jpg');
a = im2bw(a);
%subplot(221);
imshow(a);
% measuring
h = imdistline(gca);
api = iptgetapi(h);
%
pause();
%
dist = api.getDistance();
u=menu('Choose Measuring unit','Pixels','Centimeters','Meters');
if (u==1)
fprintf('The distance is : %0.2f Pixels\n',dist)
elseif(u==2)
dist_cm=dist*0.02645;
fprintf('The distance is : %0.2f Cms\n',dist_cm)
else
dist_m=dist*0.02645/100;
fprintf('The distance is : %0.2f m\n',dist_m)
end
0 commentaires
Réponse acceptée
Image Analyst
le 22 Fév 2021
If the distance is wrong, then the spatial calibration factor of 0.02645 cm per pixel is not correct.
And obviously the spatial calibration factor will be different for diffferent numbers of pixels (720 or 256) spanning the same field of view.
For the 720 pixel field of view, the spatial calibration factor should be 0.02645 * 6 / 14 = 0.0113.
For the 256 pixel field of view, the spatial calibration factor should be 0.02645 * 6 / 5.12 = 0.0310.
2 commentaires
Plus de réponses (1)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!