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