opencv matlab测距,基于MATLAB和OpenCV的双目视觉测距系统的实现

基于计算机视觉理论的双目视觉测距技术在板料成形动态测量、极限曲线检测、零部件检测等上具有较大的应用前景并将成为今后研究中的重点和难点。目前的测距方法主要有主动测距和被动测距2种方法。本研究采用被动测距法。被动测距法是在自然光照条件下,根据被测物体本身发出的信号(如光信号等)来测量距离[1]。平行双目视觉测距系统是由2个摄像头参数相同且光心平行的摄像机放在一条直线构成,采用2台摄像机同时从2个不同视点获取同一目标物的2幅图像。通过测量目标物在左右相机图像对中的视差,利用平行双目视觉成像原理可以获取目标物到平行双目相机的距离信息[2-3]。平行双目视觉测距系统通过模拟人的双眼来处理客观世界的物体,比较直观,容易被人接受。新发展的匹配算法包括BM(Boyer-Moore Algorithm)和SGBM(Semi-Global Matching)等算法。其中,在运行速度方面,BM匹配算法速度相对较快,SGBM匹配算法速度相对较慢;在精度方面,SGBM匹配算法精度相对较好,BM匹配算法精度相对较差。本文通过MATLAB工具箱对摄像机标定获得摄像机的相关参数,利用Open CV的BM和SGBM算法计算出深度图,从而获得目标物到摄像机的距离信息。1平行双目视觉模型平行双目视觉模型如图1所示。由图1可知,Ol和Or分别为左、右相机的光心,其光轴与各自的成像平面关系见图1。假设2相机的内参数和外参数完全相同,焦距用f表示,Ol和Or之间的距离(基线)用T表示,并且2台相机在同一平面上,通过式(1)和(2)可以求得Z,也就获得了距离信息[4-5]。根据相似三角形原理,有:T-(Xl-Xr)T=(Z-f)Z(1)可得:Z=f TXl-Xr(2)式中:Xl、Xr分别为空间点P在左相机图像平面的投影点p1、p2的横坐标值。式(2)中,焦距f和摄像头中心距T可通过相机标定得到。因此,只要获得了视差d=Xl-Xr就可以求得距离信息。2平行双目测距系统组成为实现平行双目测距,搭建的平行双目视觉测距系统硬件框架图如图2所示。本文使用了KS1A-528同步双目摄像头,如图3所示。KS1A-528双目摄像头模组的基本参数:基线为63 mm、像素为720 P、分辨率为2 560×720。首先通过MATLAB工具箱对双目相机标定,获得相机的内参数、外参数和畸变参数;然后对双目相机的左右视图进行校正,以使左右相机的图像对在数学上共面行对准;之后应用BM和SGBM等匹配算法计算出深度图,最终通过重投影矩阵获得目标物到摄像机的距离信息。3平行双目视觉测距系统的应用3.1相机标定双目视觉所涉及的4个坐标系分别为:像素坐标系、图像坐标系、相机坐标系和世界坐标系[6]。4个坐标系之间关系如图4所示。由上述4个坐标系之间的关系可得世界坐标系与像素坐标系之间的关系表达式为:Zcuvwwwwwwwwwwwwwwwwwwww1=f/Sxγu0 00 f/Syv0 00 0 1 0w wR3×3T3×10 1wXwYwZwwwwwwwwwwwwwwwwwwwwwwwwwwwww1=A3×4R3×3T3×10 1w wXwYwZwwwwwwwwwwwwwwwwwwwwwwwwwwwww1(3)图4坐标系关系图像素坐标(u,v)图像坐标(x,y)摄像机坐标(Xc,Yc,Zc)世界坐标(Xw,Yw,Zw)二次转换透视投影刚体变换图3同步双目摄像头图1平行双目视觉模型PZTXlOlp1fOrfXrp2图2平行双目视觉测距系统硬件框架图目标物图像采集A/D转换计算机左相机右相机整理可得:Suvwwwwwwwwwwwww

你可能感兴趣的:(opencv,matlab测距)