这篇博客不会详细介绍张正友相机标定算法的计算过程,所以只是想怎么用openCV或者Matlab实现相机标定的朋友就不用费时间去看了。这篇博客介绍我对张氏标定算法的理解。因为我看到很多资料,觉得很多人对这个算法的理解有问题。虽然我没有用程序实现,但从数学的角度上还是可以分析出来的。
首先推荐一篇博客张正友标定法。这篇博文是我找到的讲解最为详细的,但当中有些论点我仍然觉得有问题。大家可以先看这一篇,理解差不多了在看看我说的是不是有道理。
1.提取多少个角点可以求解方程
2.极大似然估计怎么应用
3.畸变纠正
提取多少个角点可以求解方程
首先我们看一眼要求解的方程
\(s\begin{bmatrix}u\\ v\\ 1\end{bmatrix} = \begin{bmatrix}h_{11} & h_{12} & h_{13}\\ h_{21} & h_{22} & h_{23}\\ h_{31} & h_{32} & h_{33}\end{bmatrix}\begin{bmatrix}X\\ Y\\ 1\end{bmatrix}=H\begin{bmatrix}X\\ Y\\ 1\end{bmatrix}\)
式中:
\(H=A\begin{bmatrix}R & t\end{bmatrix}=\begin{bmatrix}\alpha & \gamma & u_0\\ 0 & \beta & v_0\\ 0 & 0 & 1\end{bmatrix}\begin{bmatrix}r_1 & r_2 & r_3 & t\end{bmatrix}\)
由于,现实坐标是在棋盘板上建立的,默认找到的所有角点,其Z轴坐标都为0,所以省去了一