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";//kuan
argv[2] = "9";//行角点数
argv[3] = "-h";//gao
argv[4] = "6";//列角点数
argv[5] = "stereo_calib.xml";//左右图像列表


3、调试结果:
运行stereo_calib.cpp,
得到 intrinsics.yml和 extrinsics.yml 文件;



4、双目匹配参数设置:
在该项目ex下移除双目标定程序,导入现有项stereo_match.cpp,在main()函数中加入代码:
argc=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参数调试视差图效果。


