How to find the distance between two points on an image using edge detection
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
CHIRANJEEVI KANIKE
el 22 de Feb. de 2021
Comentada: Image Analyst
el 23 de Feb. de 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 comentarios
Respuesta aceptada
Image Analyst
el 22 de Feb. de 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 comentarios
Más respuestas (1)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!