version: beta 1.0
输入:待标定的图片组的数量(以两张图片为1组), 设定的期待误差
输出:内参文档(./data/intrinsics.yml), 外参文档(./data/extrinsics.yml), 带误差的组合排序后结果(./output/stereo_calibration_当前时间.txt)
中间输出变量:左摄像头内参文档(./data/camera_L.yml), 右摄像头内参文档(./data/camera_R.yml)
程序框架:
./bin为可执行文件输出地址
./bin/stereo_calibration_auto 为可执行文件 运行例子: ./bin/stereo_calibration_auto 12 0.5
./data为数据存放位置 ./data/left 左摄像头图片存放位置,./data/right 右摄像头图片存放位置,图片固定按顺序命名为 1,2,3,... 图片默认格式为.jpeg 使用其他格式需要修改图片读取相关代码
./include为头文件文件夹
./src为源码文件夹
程序执行流程
1.读入左摄像头图片
2.判定左摄像头图片是否可以找到棋盘格
3.读入右摄像头图片
4.判定右摄像头图片是否可以找到棋盘格
5.剔除左或者右摄像头不能找到棋盘格的图片
6.对左右摄像头进行单目标定
7.循环进行C(N,N-1)组合进行双目标定
8.重复6,7,直到程序找到符合预期误差的组合输出当前最优解,或者执行到只有8张图片时输出8张图片的最优解
注意事项: 双目标定循环标定的时候为了减少单目摄像头的标定次数,循环进行C(N,N-1)组合双目标定时使用的是N个图片得到的单目内参,例如,求C(10,9)双目标定时,使用10张图片得到的单目内参 所以,最后输出的最优解与带误差的组合排序后结果会有微小差异