通过标定我们可以获得相机内参、相机外参和畸变系数矩阵。
标定的基本实现流程如下:
1.确定标定板的size大小
2.给出标定板中角点的世界坐标(默认处于z=0的平面)
3.调用cv::findChessboardCorners()获取角点的像素坐标(二维)
4.调用cv::cornerSubPix()进行角点的亚像素精确
5.调用cv::calibrateCamera()进行标定获取相机的内参和外参以及畸变系数矩阵
6.利用相机内参和畸变系数得到映射关系mapx,mapx
7.应用cv::remap()去畸变,映射到正确的像素点坐标上
相机内参:
fx:焦距/(x轴上一个像素点的单位长度)
fy:焦距/(x轴上一个像素点的单位长度)
(cx,cy)为主点坐标,一般近似为图像的中心坐标点
相机外参(每幅图像对应着一个外参):
相机外参数是世界坐标系中的参数,比如相机的位置,旋转平移的方向
旋转矩阵rvecs:描述了世界坐标系的坐标轴相对于摄像机坐标轴的方向
平移矩阵tvecs:描述了在摄像机坐标系下,空间原点的位置
利用rvecs和tvecs可以进行反向投影,将世界坐标投影得到新的角点坐标,与之前的进行误差比较,。
畸变系数:
相机标定过程详解与应用

本文详细介绍了相机标定的流程,包括确定标定板大小、获取角点坐标、进行亚像素精确、标定获取内参外参及畸变系数、去畸变等步骤。重点阐述了相机内参(焦距、主点坐标)、外参(旋转矩阵、平移矩阵)和畸变系数的意义。正确的标定能提高图像的准确性,关键在于选取多样化的标定板姿态和精确的角点定位。
最低0.47元/天 解锁文章
2755

被折叠的 条评论
为什么被折叠?



