计算流程
我们使用OpenCV进行标定算法的开发,这里使用的是OpenCV3.4.6版本。使用OpenCV标定相机的算法流程如下。
Step1.检测之前采集的多张图像中的棋盘格角点像素坐标
Step2.利用棋盘格角点的像素坐标、世界坐标,计算相机的内参、畸变系数
Step3.利用相机的内参、畸变系数对原始图像做畸变矫正
其中第二步已经完成了标定操作,第三步则是验证标定结果。这些操作都可以通过调用OpenCV函数完成,因此我们需要了解相关API的接口和功能定义。
OpenCV函数讲解
OpenCV自带的文档中对API函数都有比较详细的讲解,相机标定相关部分在OpenCV: Camera Calibration and 3D Reconstruction 这里,我们挑其中使用到的一些函数做详细说明。
首先我们可以看到文档中相机内参定义和之前文章中相同,包括fx fy cx cy,但是畸变系数并非5项而是14项,包括(k1,k2,p1,p2[,k3[,k4,k5,k6[,s1,s2,s3,s4[,τx,τy]]]]),其相机投影模型如下所示。