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场景图。