基于MATLAB与OpenCV相结合的双目立体视觉测距系统

基于MATLAB与OpenCV相结合的双目立体视觉测距系统


2024年4月6日发(作者:)

第29卷第1期 

天津理工大学学报 

V01.29 No.1 

2013年2月 

JOURNAL OF TIANJIN UNIVERSITY OF TECHNOLOGY 

Feb.2013 

文章编号:1673—095X(2013)O1—0045—04 

基于MATLAB与OpenCV相结合的双目立体视觉测距系统 

汪珍珍,赵连玉,刘振忠 

(天津理工大学机械工程学院,天津300384) 

摘要:双目立体视觉测距技术是当前机器视觉领域中的一个主要研究内容.本文设计了基于MATLABatlab与 

OpenCV相结合的双目立体视觉测距系统,利用MATLAB进行摄像机标定后将结果导入到OpenCV进行后续的图像 

处理与立体匹配.摄像机标定通过MATLAB标定工具箱来完成,较于人工标定和OpenCV标定具有更好的鲁棒性和 

较高的精确性.立体匹配采用区域匹配中相对快速实时的SAD匹配,能够更好的被应用于工程实际. 

关键词:双目立体视觉;OpenCV;摄像机标定;立体匹配;视差图 

中图分类号:TP39 文献标识码:A doi:10.3969/j.issn.1673.095X.2013.01.012 

Binocular stereo vision distance measurement system based on 

a combination of Matlab and OpenCV 

WANG Zhen-zhen,ZHAO Lian—yu,LIU Zhen-zhong 

(School of Mechanical Engineering,Tianjin University of Technology,Tianjin 300384,China) 

Abstract:Binocular stereo vision distance measuring technology is a hot research topic in the field of machine vision.This 

paper focuses on a binocular stereo vision distance measurement system based on a combination of MATLAB and OpenCV,U— 

sing MATLAB camera calibration,and then impoa the results to OpenCV for subsequent image processing and stereo matc- 

hing.Camera calibration via MATLAB Calibration Toolbox has better robustness and higher precision than in the artiicial f

calibration and OpenCV calibration.The stereo matching adopt the SAD match which is a relatively rapid and real—time re— 

gional match and able to be better applied to actual projects. 

Keywords:binocular stereo vision;OpenCV;camera calibration;stereo matching;disparity map 

本文在VC++的环境下,采用OpenCV与 

MATLAB相结合的方法开发了一种新的双目测距系 

相距 平行放置.P为现实场景中的一目标点,P 和 

P 是点P在左右图像上的成像点, 轴上相应的坐 

标分别为 和 ,则视差d= 一 ,,利用相似三角 

统,先通过MATLAB对标定图像进行标定(该方法 

较于人工标定和OpenCV标定具有更高的精确性和 

鲁棒性),再将标定的结果导人到OpenCV进行后续 

的图像校正和立体匹配,快速而实时的计算出周围 

形可推导出目标点P与摄像机的距离z值 

: : jz:卫 (1) 

、 Z—f z Z — xl一% 

目标景物的三维深度信息.实验验证,该系统在提高 

精度和实时性方面有所提高,能够更好地被应用于 

工程实际中. 

2摄像机标定 

2.1摄像机标定原理 

1双目立体视觉模型 

本文采用平行双目视觉模型,让两摄像机光心 

收稿日期:2012-10—18. 

作者简介:汪珍珍(1987一

通讯作者:赵连玉(1963一

摄像机定标就是通过实验与计算求解摄像机参 

数的过程也称为标定,就是确定摄像机的几何和光 

学参数、摄像机相对世界坐标系的位置关系,涉及到 

),女,硕士研究生. 

),男,教授,硕士生导师,E—mail:lianyuzhao@163.cn. 

46・ 天津理工大学学报 第29卷第1期 

图1平行双目立体视觉模型 

Fig.1 Parallel binocular stereo vision model 

标系 .其中图像坐标分为图像平面坐标(以毫米为 

[ ]=[ y ][ ] c2 

其中,( , )图像像素坐标,( ,Y)是图像平面坐 

标.在摄像机投影模型中,世界坐标系与摄像机坐标 

系的转换关系可以表示为: 

x 

= 

Z 

] 

Z 

(3) 

1 1 

的坐标,( , ,Z ,1) 是点P在世界坐标系下的 

f一 c 

[ ]:[ ・§y辜1[ 毫][ 0T 】 

0 

: 

Z 

L 

0 0 1 oJ 

0T 

】 

M1M2X (5) 

Z 

1 

1 

其中M 、M2分别为摄像机内外参数矩阵,确定 

M 、M2的过程即为摄像机的标定.在得到目标点在 

图像上的成像位置后,即可根据(5)式求得摄像机的 

内外参数M 、 

2.2摄像机标定 

基于标定板的摄像机参数标定可以有3种实现 

方法:人工标定、基于MATLAB工具箱的标定方法和 

借助OpenCV的自标定方法.其中借助MATLAB标 

定工具箱进行立体标定,相对于人工标定和OpenCV 

的标定方法具有更高的精度和较强的鲁棒性,故本 

文采用Bouguet的MATLAB标定工具箱来标定,再 

将标定的结果读入OpenCV,来进行后续图像校准和 

匹配.标定过程大致如下. 

1)自制标定板,打印角点数为8×8、大小为27 

mm×27 mm国际象棋棋盘格图案贴在硬质塑料板 

上制成的标定板,如图2所示. 

图2标定方格板 

Fig.2 Calibration grid board 

2)图像采集与读取,利用两平行放置的摄像机 

同时对标定板的不同角度图像进行采集,一般采集 

的图像组越多,标定效果越好,建议10~20组,本文 

摄像机共采集12组图像对,如图3和图4所示: 

3)提取角点,点击主控界面上的Extract grid cor— 

ners,提取每幅图的角点.如下图所示. 

4)单目标定,依次提取完12幅图的角点后,通 

过Calibration进行摄像机的标定.经过多次迭代后, 

程序会最终得到摄像头的内外参数,点击Save,程序 

会将标定结果分别以mat格式的文件保存. 

5)立体标定,通过steoreo—gui命令对左右两摄 

相机的标定结果进行立体标定,得到两个摄像头之 

48・ 天津理工大学学报 第29卷第1期 

稠密,较好的完成了对现实场景中匹配,可以从视差 

图中较直接地获得物体的深度信息,立体匹配效果 

较好. 

从标定的实验结果看,旋转矩阵 近似于单位 

矩阵,基本上无旋转,符合前文所介绍的平行双目立 

体视觉模型,标定得到两摄像机相距为58.931 mm, 

而两摄像机之间的实际距离为60 mm,标定结果与 

之比较相近.从测距的实验结果看,当所需测量的目 

标物体距离摄像机越近时,系统提取目标的深度信 

息越稳定,精度也相对较高. 

4实验结果与分析 

实验采用两个平行放置的摄像头同时对标定板 

的不同摆置进行拍摄,得到12组不同位置相对应的 

左右图像(大小为640 X512),并对这些图像进行标 

5 结论 

定的结果如下: 

『810-837 0 357・959 0] 

f-ll  0

 

 

807.

0 

981 259.

1 

405 0

0J

 l 

 

(8) 

『800・679 o 344-090 0] 

 l0 

0 

802.055 278.

0 1 

689 0 

0 

 

 

(9) 

F0.9999 0.0034 0.0062 1 F58.931 1 

R=l 0.0034 1.0000 0.0018 lT=l 1.087 l 

L0.0062 0.0018 1.0000 J L一6.056J 

标定好之后,将标定结果导入到OpenCV进行 

立体校正和立体匹配,运用三角测量原理再对某些 

对应的匹配点的深度信息进行提取,同时并与实际 

精确测量出的实际深度信息进行比较.实验结果 

如下: 

表1测距结果 

. 

Tab.1 Distance measurement results 

兰兰 竺 [

本文主要研究了一种基于MATLAB与OpenCV 

相结合的双目立体视觉测距系统,通过在VC++的 

环境下,基于双目测距的基本原理,借助MATLAB标 

定工具箱对摄像机进行标定,将得到的摄像机内外 

参数等结果导入到OpenCV进行后续的图像校正与 

立体匹配等,最终得到实际场景中物体的三维信息. 

根据实验结果可知,该系统较好的完成了图像的立 

体匹配以及视差图的获取,有较好的稳定性和较高 

的鲁棒性,对现实场景中目标点的测量达到了一定 

的精度.同时,由于受到图像边界、弱纹理以及真实 

场景中图像噪声较大的影响,存在一定的误差以及 

误匹配,导致了测量距离较远的目标物体距离时精 

度较低. 

参考文献: 

[1]罗丹,廖志贤.基于OpenCV的双目立体视觉测距 

[J].大众科技,2011(4):52.53. 

2 3 徐奕,周军,周源华.立体视觉匹配技术[J].计算 

机工程与应用,2003(15):1.5. 

[3]霍智勇,朱秀昌.基于区域的立体匹配算法研究[J]. 

南京邮电大学学报:自然科学版,2011(3):44—49. 

[4] Gary Bradski,Adrian Kaebler.学习OpenCV[M].于世 

琪,刘瑞祯,译.北京:清华大学出版社,2009. 


发布者:admin,转转请注明出处:http://www.yc00.com/news/1712392737a2051569.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信