天天看点

相机标定 -- 2 从单应矩阵H分解出初始内参A

目录

1.单应矩阵Python实现

2.根据单应矩阵求出内参(本文)

  • 前面给出了单应矩阵的求解代码,接下来利用单应矩阵得到内参。具体的计算还是看论文o,原理是利用了外参矩阵中旋转矩阵部分的单位正交性。
  • 具体实施:
    1. 对单位正交构造的方程进行变形,利用所有的单应矩阵H的数值构建好V矩阵,构造出关于未知内参数的线性方程组。
    2. 利用svd求解 V b = 0 Vb=0 Vb=0超定方程,最小特征值对应的特征向量就是我们要求的 b b b。
    3. 根据 A p p e n d i x _ B Appendix \_B Appendix_B, b b b中的数值可以变形出所有的内参数,作为初始值。

    踩坑:

    在使用Python求解的时候还有一些细节需要注意,np等函数库求出svd之后,要对输出的进行转置,然后找到的最后一列才是超定方程的最小二乘解。这一点我踩坑很长时间,在和师兄的matlab程序对比中发现,前面算出来都一样,就从这里开始出现nan。昨晚还是啥时候忘记在那看到,v要转置,早上一试果然如此。这也提醒我,就算知道了如何去计算,使用库函数的时候还是要注意输出格式!

给出Python代码

https://download.csdn.net/download/m0_38139098/13096214

继续阅读