文章目录
“张正友标定”是指张正友教授1998年提出的单平面棋盘格的摄像机标定方法。
1、原理
针孔相机模型:
1.1 计算外参数
相机外部参数/外方位元素:旋转、平移
由于三角形Cpt与三角形CPZ为相似三角形,因此可得:
C p C P = C t C Z = p t P Z \frac{
{
{\rm{C}}p}}{
{CP}} = \frac{
{Ct}}{
{CZ}} = \frac{
{pt}}{
{PZ}} CPCp=CZCt=PZpt
又因为:
C t = f C Z = Z P Z = Y \begin{array}{l} Ct = f\\ CZ = Z\\ PZ = Y \end{array} Ct=fCZ=ZPZ=Y
结合上面两式,可得:
C p C P = f Z = y Y \frac{
{Cp}}{
{CP}} = \frac{f}{Z} = \frac{y}{Y} CPCp=Zf=Yy
经过变换得:
y = f Y Z y = \frac{
{fY}}{Z} y=ZfY
同理可得:
x = f X Z x = \frac{
{fX}}{Z} x=ZfX
因此,建立一个空间坐标到像平面坐标的映射关系:
( x y 1 ) ∼ ( f X f Y Z ) = [ f 0 0 0 f 0 0 0 1 ] [ 1 0 0 0 0 1 0 0 0 0 1 0 ] ( X Y Z 1 ) \left( \begin{array}{l} x\\ y\\ 1 \end{array} \right) \sim \left( \begin{array}{l} fX\\ fY\\ Z \end{array} \right) = \left[ \begin{array}{l} {\rm{f}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{0}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} 0\\ 0{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{f}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} 0\\ 0{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{0}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} 1 \end{array} \right]\left[ \begin{array}{l} {\rm{1}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{0}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{0}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{0}}\\ {\rm{0}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{1}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{0}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{0}}\\ {\rm{0}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{0}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{1}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{0}} \end{array} \right]\left( \begin{array}{l} X\\ Y\\ Z\\ 1 \end{array} \right) ⎝⎛xy1⎠⎞∼⎝⎛fXfYZ⎠⎞=⎣⎡