opencv - 相机校准期间的不同平面

标签 opencv image-processing computer-vision camera-calibration

我正在使用标准 OpenCV 函数来校准相机的内在参数。为了获得好的结果,我知道我们必须使用不同角度的棋盘图像(考虑 3D 中的不同平面)。这在所有文档中都有说明
和论文,但我真的不明白,为什么考虑不同的平面对我们来说如此重要,如果我们必须考虑最佳数量的平面以获得最佳校准结果?

如果您能给我提供一些解释这一点的论文或文档的引用资料,我会很高兴。 (我认为张的论文谈到了它,但是它在数学上很密集,很难消化。)

谢谢

最佳答案

从数学上讲,只有当您拥有 3 个或更多平面目标的不同图像时,才能定义内在参数(按比例)的唯一解。见张的第6页paper :“如果观察到模型平面的 n 幅图像,通过堆叠 n 个等式,例如 (8),我们有 Vb = 0 ; (9) 其中 V 是一个 2n×6 矩阵。如果 n ≥ 3,我们通常会有一个定义为比例因子的唯一解 b..."

没有“最佳”数量的飞机,就数据而言,你拥有的越多,你就越快乐。但是随着解决方案开始收敛,由于添加额外图像而导致的校准精度的边际增益变得可以忽略不计。当然,这假设图像显示的平面在姿势和位置上都分离得很好。

另见 this other answer of mine实用技巧。

关于opencv - 相机校准期间的不同平面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19183995/

相关文章:

c++ - 检测器、提取器和匹配器的分类

c++ - 优化C++位图处理算法

c++ - 鱼眼畸变校正

opencv - 在给定图像上找到十字及其方向

opencv - 如何计算单应性?

opencv - 如何计算立体视觉的基本矩阵

python-opencv 我如何将文件对象转换为 numpy.ndarray

python - Theano/numpy 高级索引

使用opencv的android角点跟踪

c# - 不安全边缘检测仍然很慢