使用 python 计算图像中两点之间的实际距离
calculate the real distance between two points in an image with python
在业务项目中,我需要找出从手机接收到的图像中两点之间的真实距离phone。由于EXIF文件中缺少smartphone相机中图像传感器的物理尺寸等信息,通过估计距离,强制用户在图像中放置一定高度和宽度的物体,我能够估计图像传感器的大小,但有一些错误。 不过这些错误是可以避免的,不会有太大问题。为此,我遵循了 post.
中的提示
现在我想找出图像中两点之间的距离。根据这个link,
calculate the real distance between to point using image
可以得到两个想要的点之间的距离,但是没看懂这个公式中的列和行是怎么得到的
如果能得到帮助,我将不胜感激。如果我走错了,谢谢你的解释
在您分享的link中,点u,v是图像的中心点,是根据sensor/digitizer的行和列以及图像的宽和高找到的。
这篇论文很好地解释了图像中心:
https://www.ri.cmu.edu/pub_files/pub4/willson_reg_1994_3/willson_reg_1994_3.pdf
但是,行值和列值是实际相机本身的一部分,不一定与图像相关。
除此之外,其他一切都是使用这两个值以及 z-axis 值和焦距找到的,然后将其代入欧几里得距离公式。
在业务项目中,我需要找出从手机接收到的图像中两点之间的真实距离phone。由于EXIF文件中缺少smartphone相机中图像传感器的物理尺寸等信息,通过估计距离,强制用户在图像中放置一定高度和宽度的物体,我能够估计图像传感器的大小,但有一些错误。 不过这些错误是可以避免的,不会有太大问题。为此,我遵循了 post.
中的提示现在我想找出图像中两点之间的距离。根据这个link,
calculate the real distance between to point using image
可以得到两个想要的点之间的距离,但是没看懂这个公式中的列和行是怎么得到的
如果能得到帮助,我将不胜感激。如果我走错了,谢谢你的解释
在您分享的link中,点u,v是图像的中心点,是根据sensor/digitizer的行和列以及图像的宽和高找到的。
这篇论文很好地解释了图像中心: https://www.ri.cmu.edu/pub_files/pub4/willson_reg_1994_3/willson_reg_1994_3.pdf
但是,行值和列值是实际相机本身的一部分,不一定与图像相关。
除此之外,其他一切都是使用这两个值以及 z-axis 值和焦距找到的,然后将其代入欧几里得距离公式。