基于Matlab的立体相机标定StereoCalibration与目标三维坐标定位

1.Matlab关于立体相机标定与目标三维坐标定位的流程

环境:Matlab r2015b

找到 APPS-->Stereo Camera Calibrator-->Add Image,

此时会提示左右摄像头拍摄的棋盘格标定图片输入路径(Folder for images from camera1 /camera 2),以及实际的棋盘格尺寸(size of checkerboard )

应用会导入文件路径里面图片,并且会显示成功添加的图像对以及拒绝的图像对(rejected stereo pairs),点击 OK ,然后点击 Calibrate,立体标定开始。

show rectified 可以显示校准后的图像对,export camera parameters可以导出标定好的参数。

2.参数解释:

2.1外参数:

RotationOfCamera2  右相机相对于左相机的旋转矩阵

TranslationOfCamera2 右相机相对于左相机的平移矩阵,一般来说其第一个分量的大小与baseline大小一致

MeanReprojectionError 平均重投影误差pixel

2.2内参数:

RadialDistortion 径向畸变

TangentialDistortion 切向畸变

intrinsicMatrix 内参矩阵

[fx 0 0;

0 fy 0;

cx cy 1]

fx = Fsx,fy = Fsy,F为实际物理焦距(单位:mm),sx,sy为成像仪每个最小单元尺寸(单位:pixel/mm),cx,cy为相机光心位置。

focalLength [fx  fy],principlePoint [cx cy]

3.重建3D坐标涉及到的一些函数:

rectifyStereoImages:去单个相机畸变,校准立体图像对,使得同一目标点位于同一水平线上,

triangulate:根据左右图像中的目标点,利用三角关系计算目标的3D坐标,

disparity:计算左右图像的视差图,

reconstructScene:根据视差图重构3D场景图。

你可能感兴趣的:(OpenCV算法)