Matlab相机标定工具箱和标定结果评价

用来做相机标定的工具很多,不过MATLAB中的相机标定工具箱使用起来相当舒服,概括起来:简单准确高效,下面我说一下单个相机和双目相机标定的流程和标定结果怎么判断好坏:

1. 单个相机标定
第一步:打开matlab,找到APP,下三角查看更多选项
在这里插入图片描述
第二步:在图像处理和计算机视觉这一栏中找到黄色的这两个工具箱,camera calibrator工具箱用来做单个相机标定,stereo camera calibrator 工具箱用来做双目相机标定,我们先打开第一个工具箱。
Matlab相机标定工具箱和标定结果评价_第1张图片
第三步:添加拍摄好的标定板的图片(10-20张之间最好),拍摄标定板时最好占满半屏以上,有平移有旋转。Matlab相机标定工具箱和标定结果评价_第2张图片
第四步:输入标定板中相邻棋盘格之间实际距离,标定精度很大程度取决于标定板的精度,可以从网上买也可以自己打印棋盘格,我这里使用的棋盘格间距是40mm.Matlab相机标定工具箱和标定结果评价_第3张图片
第五步:选择相机模型,取决于自己的相机是标准还是鱼眼镜头,其实只要不是广角镜头用standard模式就行,然后点击calibrate计算。
第六步:导出相机标定结果到命令行窗口中查看

第七步:命令行窗口中显示了刚才导出的结果名称,说明导出成功,然后在工作区双击cameraParams查看输出结果,这里面也就箭头标出的三处信息是重点,第一处径向畸变系数,切向畸变系数此处默认为零,第二处内参矩阵(包括了下面的相机焦距和主点偏移量),第三处是平均投影误差,用来显示这组图片矫正误差量。获得畸变系数和内参矩阵,标定工作结束。
Matlab相机标定工具箱和标定结果评价_第4张图片
Matlab相机标定工具箱和标定结果评价_第5张图片
2. 双目相机标定
第一步:和单个相机标定类似,在APP里面打开stereo camera calibrator 工具箱,在弹出的两个文件夹中分别加载左右两个相机拍摄的棋盘格图片,输入棋盘格尺寸。
Matlab相机标定工具箱和标定结果评价_第6张图片
第二步:可根据相机情况选择相机模型的畸变系数,2coefficients表示只输出径向畸变系数K1,K2,其他系数默认为零,3coefficients表示只输出径向畸变系数K1,K2,K3,skew表示扭曲系数一般不选,Tangential Distortion表示切向畸变系数p1,p2(可选可不选,可根据标定结果来定)。然后点击标定计算

第三步:标定完成,导出参数,回到命令窗口查看标定结果

Matlab相机标定工具箱和标定结果评价_第7张图片
输出结果中有两个相机的内参、畸变系数、两个相机之间的旋转矩阵,平移向量等参数,双击任意参数进入查看。

3. 标定结果评价
前面只是提到了怎么对相机进行标定,接下来说说怎么判断标定结果是否准确。

一:点击1处查看矫正结果是否变形严重,如果变形严重说明畸变系数选择不合理,可以把切向畸变去除。2处可以选择去除误差较大的图片对,误差在0.1内比较准确。3处查看标定板相对于相机位置,根据实际情况判断距离空间是否符合实际情况,误差较大时候两个相机错位或者距离标定板明显太远。
二:打开导出的参数,根据参数判断。
1.比如此处平移向量代表两个相机之间的平移X,Y,Z,-59.6848就表示两个相机间基线距离,我实际机基线距离是60mm,可以认为误差很小了。
Matlab相机标定工具箱和标定结果评价_第8张图片
2.也可以看畸变系数,比如径向畸变系数K1,K2,K3一般在0.1以下才算正常,切向系数更小,量级在E-4次方。
3.内参中的主点偏移量,一般这个值乘以2倍就是图像尺寸,355.57452=711,253.49362=507,这里图像实际尺寸是480640,我们计算的是507711,是不是很接近呢。不要以为这是巧合哦
Matlab相机标定工具箱和标定结果评价_第9张图片
看到到这里我们基本上就掌握了相机标定的知识了,完!

附带另外两个工具箱下载链接:投影仪标定以后有机会再讲吧。

投影仪标定工具箱:https://github.com/davidfofi/procamcalib

相机标定工具箱:http://www.vision.caltech.edu/bouguetj/calib_doc/download/index.html

你可能感兴趣的:(相机标定,双目)