双目标定:matlab自动标定相机参数方法
https://jingyan.baidu.com/article/22a299b5e6da909e18376a75.html
双目标定是立体视觉系统中的一个关键步骤,
双目标定的目的是获取相机的内参和外参,外参包括旋转矩阵和平移向量;
在进行双目标定时,有两种常见的数据库:matlab视觉处理库和opencv开源视觉库;
通常matlab中标定的结果比较稳定,可以在matlab中标定之后再使用opencv标定;
在matlab标定中,大家比较熟悉的是使用标定工具箱,一幅幅图像进行手动标定;
这很耗时间;
本经验主要介绍一下,使用Matlab中的函数进行一键自动标定双目相机参数。
工具/原料
-
双目标定图像
-
matlab标定工具箱
方法/步骤
-
打开matlab,输入命令:“stereoCameraCalibrator”,
弹出标定窗口,
将窗口上方Skew、Tangential Distortion以及3 Coefficients选项选中,
将2 Coefficients选项去掉,
如下图所示:
-
点击“Add Images”按钮,
弹出添加对话框,输入左标定图像所在文件夹和右标定图像所在文件夹;
并且输入棋盘格上每个格子所占的真实尺寸大小;
如图所示:
-
选择好左右相机所在文件之后,
点击确定按钮,系统会自动检测效果好的标定图像,并剔除效果不好的图像;
如图所示:
-
点击“Calibrate”按钮,进行标定;
窗口界面包含:
标定的效果;或双目矫正结果;
重投影误差柱状图:对于重投影误差较大的图像可以手动删除掉,然后重新标定;
相机外参结构图;
-
点击“Exprot Camera Parameters”按钮,
保存标定的参数数据;
如图所示:
-
标定结果分析:
对于双目标定数据,
通常只需要得到:
相机内参:Intrinsic Matrix;
畸变:径向畸变+切向畸变;[k1,k2,k3,p1,p2]
重投影平均误差;
相机外参:旋转矩阵3*3 +平移向量3*1
END
注意事项
-
此工具箱优点就是可以自动进行标定;但标定结果对于图像的要求比较高,如果图像效果不好,标定所得到的结果用于立体校正的话会出现很大的偏差。 鲁棒性不如手动标定的好;