OpenCV:自带双目标定例子和双目匹配例子的使用
1、准备工作:在目录...\opencv\sources\samples\cpp找到stereo_calib.cpp、stereo_calib.xml、stereo_match.cpp、left01-14、right01-14;其中,stereo_calib.cpp是双目标定程序文件,stereo_calib.xml是输入左右图像的列表,stereo_match.cpp是立体匹配、计算视差的程序;
2、设置参数:新建项目ex,导入现有项stereo_calib.cpp,在main()函数中加入代码:argc = 6;argv[0] = "髫潋啜缅ex";//项目名称argv[1] = "-w";//kuanargv[2] = "9";//行角点数argv[3] = "-h";//gaoargv[4] = "6";//列角点数argv[5] = "stereo_calib.xml";//左右图像列表
3、调试结果:运行stereo_calib.cpp,得到 intrinsics.yml和 extrinsics.yml 文件;
4、双目匹配参数设置:在该项目ex下移除双目标定程序,导入现有项stereo_match.cpp,在main()函数中加入代码:arg艘早祓胂c=8;argv[0]="ex";argv[1]="left01.jpg";argv[2]="right01.jpg";argv[3]="--algorithm=bm";argv[4]="-i";argv[5]="intrinsics.yml";argv[6]="-e";argv[7]="extrinsics.yml";
5、双目匹配结果:例程分别采用了三种方法:bm,sgbm,var计算视差图;通过修改argv[3]="--algorithm=bm";参数,比较三种算法效果;修改视差范围dmin和numberofdisparity参数调试视差图效果。