一、      标定步骤

 

1.      调出标定工具箱

在命令行输入stereoCameraCalibrator,出现如下界面:

matlab双目标定_转置

 

2.      勾选相应的选项

然后将上面的“Skew”、“Tangential Distortion”以及“3 Coefficients”等选项选上,将“2 Coefficients”选项去掉,如下:

matlab双目标定_命令行_02

 

3.      载入图像

然后点击添加图像,出现如下界面:

matlab双目标定_立体匹配_03

Camera1代表左摄像头,Camera2代表右摄像头,分别选择存放着左右图像的文件夹,需要特别注意的是棋盘格的边长应该根据打印的实际大小填写,单位可以选择

然后点击OK,程序会自动检测采集的图像到底有多少可以使用,可以说MATLAB2015的这个工具十分挑剔,如果角度不好的话,将使用不了,因此在采集图像时,最好多的采集一些。(此处只是为了说明标定步骤,所以使用的图像较少)。

matlab双目标定_转置_04

 

4.      标定

点击matlab双目标定_.net_05按钮,开始标定:

matlab双目标定_.net_06

 

5.      校准

从下图可以看到,平均的标定误差以及标定过程中误差较大的的图像对。

matlab双目标定_.net_07

 

点击选择不想接受的误差直方图,可以直接在左边的图像对中找到对应的图像,右键选择“Remove and Recalibrate”:

matlab双目标定_xml文件_08

 

       可以重复上述步骤,直到认为误差满足标定需求为止。

6.      导出参数

点击matlab双目标定_.net_09选择Export camera parameters, 并点击“OK”。

matlab双目标定_xml文件_10

 

回到顶部

二、      参数读取

标定结束后,会得到如下标定参数:

matlab双目标定_转置_11

 

CameraParameters1与CameraParameters2为左右摄像头的单独标定参数。

1.      两个摄像头的平移和旋转参数

stereoParams.TranslationOfCamera2:相机2相对于相机1的偏移矩阵,可以直接使用。

 

stereoParams.RotationOfCamera2:相机2相对于相机1的旋转矩阵,需要转置之后才能使用。

 

2.      摄像机内参矩阵

CameraParameters1与CameraParameters2中包含如下文件:

matlab双目标定_立体匹配_12

 

IntrinsicMatrix存放的是摄像头的内参,只与摄像机的内部结构有关,需要先转置再使用。

3.      畸变参数

RadialDistortion:径向畸变,摄像头由于光学透镜的特性使得成像存在着径向畸变,可由K1,K2,K3确定。

TangentialDistortion:切向畸变,由于装配方面的误差,传感器与光学镜头之间并非完全平行,因此成像存在切向畸变,可由两个参数P1,P2确定。

使用时,需要注意参数的排放顺序,即K1,K2,P1,P2,K3。切记不可弄错,否则后续的立体匹配会出现很大的偏差。

 

 

  三 双目摄像头标定参数

 

 双目摄像头定标不仅要得出每个摄像头的内部参数,还需要通过标定来测量两个摄像头之间的相对位置(即右摄像头相对于左摄像头的三维平移T和旋转 R 参数)。

       使用Matlab2015标定后,会得到如下标定参数:

       CameraParameters1与CameraParameters2为左右摄像头的内部参数(1为右摄像头,2为左摄像头),RotationOfCamera2与TranslationOfCamera2为两个摄像头的旋转、平移参数,平移参数可直接写入到相应的XML文件中,但旋转参数需进行转置,才可写入XML文件中。

       CameraParameters1与CameraParameters2中包含如下文件:


       我们主要使用IntrinsicMatrix、RadialDistortion以及TangentialDistortion。IntrinsicMatrix存放的是摄像头的内参,只与摄像机的内部结构有关,写入相应的Left/Right_Matrix.xml文件中,但是需要先转置,后写入。

       RadialDistortion和TangentialDistortion中存放的是畸变参数, RadialDistortion为径向畸变,摄像头由于光学透镜的特性使得成像存在着径向畸变,可由K1,K2,K3确定。TangentialDistortion为切向畸变,由于装配方面的误差,传感器与光学镜头之间并非完全平行,因此成像存在切向畸变,可由两个参数P1,P2确定。不过在写入到Left/Right_dist.xml文件中时,需要注意参数的排放顺序,即K1,K2,P1,P2,K3。

       切记不可弄错,否则后续的立体匹配会出现很大的偏差。

       单个摄像头的定标主要是计算出摄像头的内参(焦距f和成像原点cx,cy、五个畸变参数(一般只需要计算出k1,k2,p1,p2,对于鱼眼镜头等径向畸变特别大的才需要计算k3))以及外参(标定物的世界坐标)。

       得到双目的内参和外参后,大家最好通过进行图像校正实验,看看所得到的参数时候正确~


————————————————