全向相机校准
前言
本教程将介绍全向摄像机校准模块的以下部分:
校准单个摄像机。
校准一对立体声摄像机。
校正图像,以消除较大的失真。
从两个立体图像重建3D,并具有较大的视野。
与opencv / calib3d /中的鱼眼模型比较
单相机校准
校准相机的第一步是获取校准图案并拍摄一些照片。OpenCV支持多种模式,例如checkerborad和圆形网格。也可以使用名为随机模式的新模式,
下一步是从校准图案中提取角点。对于棋盘格,请使用OpenCV功能cv::findChessboardCorners;对于圆网格,请使用cv::findCirclesGrid,对于随机模式,请使用randomPatternCornerFinderopencv_contrib / modules / ccalib / src / randomPattern.hpp中的类。将图像中的角点位置保存在变量中,例如imagePoints。的类型imagePoints可以是,第一矢量在每个帧中存储角,第二矢量在单个帧中存储角。类型也可以是所在的位置。std::vector<std::vectorcv::Vec2f>std::vectorcv::Matcv::MatCV_32FC2
此外,还需要世界(图案)坐标中的相应3D点。如果您知道图案的物理尺寸,则可以自己计算。在保存三维点objectPoints,类似的imagePoints,也可以是std::vector<std::vector>或其中的类型