相机内参标定是计算机视觉中的一个基本任务,它的目的是通过摄像机采集的图像来推断出相机的内在特性。相机的内参包括 焦距(focal length)、主点(principal point)和 畸变系数(distortion coefficients),这些参数对于后续的图像校正、3D 重建和姿态估计等任务非常重要。
在 OpenCV 中,相机标定是通过摄像头标定算法(Camera Calibration)实现的,通常使用棋盘格或其他已知尺寸的标定图案来获取标定数据。
相机内参标定的步骤
-
采集标定图像 通常使用一个已知尺寸的棋盘格(如 9x6 的黑白棋盘格),拍摄多张不同角度的图像。每张图像的特征点(棋盘格的角点)将用来进行标定。
-
检测棋盘格角点 对每张标定图像进行角点检测(例如,使用
cv::findChessboardCorners()
函数),然后通过亚像素级的角点检测精确定位角点位置(cv::cornerSubPix()
)。 -
计算相机内参 使用 OpenCV 的