一:经典标定方法
1.1OPENCV
1.2ROS
ROS进行双目视觉标定可以得到左右两个相机的相机矩阵和畸变系数,如果是单目标定,用ROS会非常方便。

3.MATLAB标定(双目标定)
MATLAB用来双目标定会非常方便,主要是为了得到两个相机之间的旋转矩阵R和平移矩阵T。
前提是已经已经用两个相机拍摄好多组照片。
二:采用matlab双目标定流程
2.1选择matlab中的双目标定工具箱

2.2导入图片并设置棋盘格尺寸
导入左右相机拍摄照片的文件夹,同时设置棋盘格子宽度,点击确定以后,matlab会自动剔除一些质量不高的照片。因此拍摄时照片尽量多一些,图片要求和单目标定时一致,数量我自己的话是建议200张会比较好一些,然后没有那么高的标定需求的话,20张应该够了。涉及到X,Y轴(左右,上下),然后还有SIZE(远近),还有翻转。图片拍摄的角度越多,标定也就越精准。


2.3设置参数

参数解释
2.3.1Radial Distortion(径向畸变)
2 Coefficients选项的官方含义:
Use fourth degree polynomial to estimate the radial distortion of a lens.
使用四次多项式来估计透镜的径向畸变。
3 Coefficients选项的官方含义:
This setting is recommended only for wide field of view camera.
Use sixth degree polynomial to estimate the radial distortion of a lens.
此设置仅适用于大视场相机。
使用六次多项式来估计透镜的径向畸变。
综上所述:
对于一般的相机选择2 Coefficients选项即可,对于大视场相机则选择3 Coefficients选项。
2.3.2Compute
Compute包含Skew和Tangential Distortion两个选项
2.3.2.1SKew
Assume that X-axis and Y-axis are not perpendicular. This means that the image pixels are not rectangular. Most modern cameras do not exhibit this issue.
假设X轴和Y轴不垂直。这意味着图像像素不是矩形的。大多数现代相机都没有这个问题。
所以,Skew选项一般不需要选择。
![]()
2.3.2.2Tangential Distortion
Tangential distortion occurs when the lens’ principal axis is not perpendicular to the camera sensor.
当镜头的主轴与相机传感器不垂直时,会发生切向失真。
![]()
2.3.3设置单目标定时的参数(可选)
如果希望将多目标定时的参数设置和含义与单目标定时保持一致,可以使用与单目标定时相同的参数设置和方法。可以输入之前单目标定时得到的内参矩阵(可选),然后点击"Calibrate"按钮进行计算。这样做可以确保在多目标定时中使用一致的参数和方法来进行校准。

左下方的直方图为左右图像的标定误差,点击误差较大的直方图,可以直接在左边的图像对中找到对应的图像,右键选择“Remove and Recalibrate”,可以重复上述步骤,直到认为误差满足标定需求为止。

2.4导出参数

2.5读取参数

TranslationOfCamera2:相机2相对于相机1的偏移矩阵;
RotationOfCamera2:相机2相对于相机1的旋转矩阵;
CameraParameters1和CameraParameters2为左右摄像头的单独标定参数
2.5.1两个摄像头的平移和旋转参数
平移参数可直接使用;但旋转参数需进行转置才能使用。
2.5.2摄像机内参矩阵
CameraParameters1与CameraParameters2中包含如下文件:

特别注意:IntrinsicMatrix存放的是摄像头的内参,只与摄像机的内部结构有关,需要先转置再使用。
2.5.3畸变参数
RadialDistortion和TangentialDistortion中存放的是畸变参数, RadialDistortion为径向畸变,摄像头由于光学透镜的特性使得成像存在着径向畸变,可由K1,K2,K3确定。TangentialDistortion为切向畸变,由于装配方面的误差,传感器与光学镜头之间并非完全平行,因此成像存在切向畸变,可由两个参数P1,P2确定。
不过在使用时,需要注意参数的排放顺序,即K1,K2,P1,P2,K3。切记不可弄错,否则后续的立体匹配会出现很大的偏差。
参考资料:双目视觉标定MATLAB_matlab双目标定-CSDN博客
双目立体视觉:四(双目标定matlab,图像校正,图像匹配,计算视差,disparity详解,)_rectifystereoimages-CSDN博客
matlab相机标定Options选项解析_radial distortion 3 cofficient-CSDN博客Matlab2015 双目相机自动标定 (mamicode.com)



















