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
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
l
I
(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条)