OpenCV 2.4.10
准备工作:在目录...\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是立体匹配、计算视差的程序;
设置参数:新建项目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';//左右图像列表
调试结果:运行stereo_calib.cpp,得到 intrinsics.yml和 extrinsics.yml 文件;
双目匹配参数设置:在该项目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';
双目匹配结果:例程分别采用了三种方法:bm,sgbm,var计算视差图;通过修改argv[3]='--algorithm=bm';参数,比较三种算法效果;修改视差范围dmin和numberofdisparity参数调试视差图效果。
不懂请私信