相机到物体的距离..纠错

时间:2017-04-20 09:06:35

标签: c++ opencv camera-calibration pose-estimation

我估计从相机到棋盘的距离。但是,只要我离模式很远,误差就会线性增加。 这是正常的吗?我该如何纠正这个错误?

我使用一个简单的线性方程校正了该错误并且它可以工作,但它并不依赖于相机参数,因为我认为它应该是,因此校正将是稳健的: 错误= 72.51 + distNorme * 0.0278;

我使用OpenCV计算与棋盘的距离,并按照以下步骤计算我的相机参数:

1- findChessboardCorners

2- solvePnP

3- - >距离solvePnP

给出的平移向量的距离

当我有更好的跟踪模式

时,我也会对以后纠正轮换错误和翻译错误感兴趣

1 个答案:

答案 0 :(得分:0)

在做了一些实验之后,我会写一个问题的答案。我纠正了我的距离如下:

Distance_corrected = distNorme+distNorme*correction

distNorme是棋盘的距离,它是solvePnP OpenCV函数给出的平移向量的范数。

correction

correction=pixel_size/focal_mm/2 = 2/focal_pixel

结果更好,但仍有线性增加的误差,但不是很强distNorme(距离未校正)。

我仍在寻找correction错误的引用或文档。我需要更多关于它的细节。