多语言展示
当前在线:1417今日阅读:86今日分享:14

OpenCV:自带双目标定例子和双目匹配例子的使用

绪本经验主要介绍OpenCV自带双目标定例子的使用方法。OpenCV双目标定文件:stereo_calib.cpp:通过用户输入可选参数的双目标定程序;stereo_calib.xml: 左右标定图像名称;26张图片:left01-left14,right01-right14;OpenCV双目匹配文件:stereo_match.cpp:通过用户输入可选参数的双目匹配程序;左右图像对;相机内参和外参;
工具/原料

OpenCV 2.4.10

方法/步骤
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()函数中加入代码: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参数调试视差图效果。

注意事项

不懂请私信

推荐信息