如何测量相机和物体之间的距离



我是OpenCV的初学者,只是想知道哪种方式是最好的衡量方式给定视频中摄像机与对象之间的距离。

我在导师之前遇到的每一个教程都是先使用相机校准,然后再消除相机镜头的失真。但在这种情况下,我不使用自己的相机,所以我有必要使用这些功能吗?

此外,我还记录了一些相机的数据,如:

  • (fx,fy(=焦距
  • (cx,cy(=主点
  • (宽,高(=图像形状
  • 径向=径向变形
  • (t1,t2(=切向畸变

通常,在事先了解对象的情况下,可以测量单个相机与对象之间的距离。它可以是平面图案的尺寸或边缘的3D位置,可以使用图像分析来容易地自动检测。

物体相对于相机的位置的计算通常通过求解PnP问题来完成。

https://en.m.wikipedia.org/wiki/Perspective-n-Point

求解PnP方程确实需要相机参数(至少需要固有矩阵,理想情况下需要失真系数以获得更高的精度(。

这些参数可以通过校准相机来估计。OpenCV提供了一些可以用来校准单眼相机的功能。或者,您可以使用CalibPro这样的平台为您计算这些参数。

【免责声明】我是Calibpro的创始人。我很高兴能帮助您使用该平台,我希望您对使用该平台的体验有反馈。

最新更新