毕业设计做了相机标定相关的工作,想着把理论和实现方法总结一下发出来,算是个记录,如果能帮助到有需要的人就更好了。
提前说明,这篇文章主要是将我的本科毕业论文中的相关部分进行提取、修改的结果,文中公式采用截图的方式给出(不知道怎么用公式编辑器…),所以对应的公式号与章节号可能不符,读者请注意。
摘要
本文使用的方法是张正友的相机标定法
Z. Zhang, “A flexible new technique for camera calibration,” in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 22, no. 11, pp. 1330-1334, Nov. 2000.
相机标定是整个标定过程的前提,其目的是为了得到相机的内参数和外参数,内参数包括相机的焦距、镜头畸变参数、主点等信息,外参数包括像素坐标系相对于世界坐标系的旋转、平移矩阵。通过相机标定,我们可以知道像素坐标系与世界坐标系直接的转换关系,也就是要求的单应性矩阵,通过相机标定我们可以知道的是,在图像上看到的物体在实际中相对相机坐标系的位姿。
1、相机标定各坐标系的介绍
相机标定中共4个坐标系:世界坐标系(x_w,y_w,z_w)、相机坐标系(x_c,y_c,z_c)、图像坐标系(x,y)、像素坐标系(u,v)。
各坐标系对应位置关系如图1所示。
世界坐标系(x_w,y_w,z_w):在真实世界中的坐标系,相机标定中所选用的世界坐标系通常是以标定板所在平面为坐标系的XoY面。
相机坐标系(x_c,y_c,z_c):相机所在的坐标系,用于描述相机的位姿状态,在相机标定中通常用于连接世界坐标系与图像坐标系。
图像坐标系(x_p,y_p):即相机传感器所在的坐标系,用于描述物体在成像过程中的投射关系,在相机标定中用于连接相机坐标系与像素坐标系。
像素坐标系(u,v):是我们在屏幕上所看到的图片所在的坐标系,在相机标定中用于直观的展示物体的位姿信息。
2、各坐标系之间的齐次坐标转换
本文采用张正友相机标定法[2],该方法将上文介绍的不同坐标系之间的关系转换为矩阵相乘的形式,最终得到世界坐标系与像素坐标系之间的对应关系,即单应性矩阵。坐标系之间的转换分为以下几个步骤,分别是