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

【matlab|matlab 双目立体视觉,基于MATLAB与OpenCV相结合的双目立体视觉测距系统】摘要:随着计算机运算速度的逐年增长及机器视觉理论研究的不断发展,机器视觉已逐步应用到众多领域。其中,双目立体视觉测距由于在机器人定位与导航、系统避障、及工业测量等领域有着广泛的应用前景,因此备受关注。一个完整的双目立体视觉测距系统主要包括图像获取、摄像机标定、图像预处理、立体匹配、三位信息恢复及后处理等部分,其中摄像机标定和立体匹配是双目视觉测距的重点与难点所在。在VC++的环境下,采用OpenCV与MATLAB相结合的方法开发了一种新的双目视觉测距系统,该系统先通过MATLAB对标定图像进行标定,再将标定的结果导入到OpenCV进行后续的图像校正和立体匹配,从而快速而实时的计算出周围目标景物的三维深度信息。主要工作包括以下几个方面:(1)摄像机标定:详细介绍了摄像机标定的有关理论和方法,包括摄像机的线性成像模型、非线性成像模型,并分析了从传统的摄像机标定到自标定的发展过程和常用的摄像机标定方法及其优缺点。本文采用了介于传统标定方法和自标定之间的一种平面标定方法,通过MATLB来对所采集的图像进行标定,获取摄像机的内外参数,并通过再次投影误差分析,验证标定结果的正确性。(2)图像预处理:由于拍摄的彩色图像包含较多信息且存在大量噪声,处理起来比较困难且速度较慢,因此在图像匹配前对图像进行预处理。本文主要从图像灰度化和图像平滑两个方面来进行预处理以改善图像质量。首先对图像进行灰度化处理减少图像包含的冗余信息,然后对图像进行平滑处理以去除噪声,着重对比了均值滤波、中值滤波和高斯滤波等三种平滑滤波的特点及适用的场合,结合实际选择出适合本系统的图像平滑处理方法,为后续的匹配工作打下基础。(3)立体匹配:立体匹配一直是立体视觉中最困难而且最难以处理的部分,本文首先介绍了立体匹配的有关理论知识,主要包括立体匹配原理、基元的选择、常用的匹配准则以及匹配算法,经过分析比较并结合课题的实际需要最终选用区域匹配中一种算法相对简单的SAD匹配法,以实现快速有效的匹配。最后详细说明了通过OpenCV实现该匹配算法的详细过程,完成匹配并得出深度图。结合前面摄像机标定的内外参数,利用三角测量原理对深度信息进行提取,计算出实际场景中物体距摄像机的距离,与实际距离信息对比并进行误差分析。实验验证该系统在提高精度和实时性方面有所提高,能够更好地应用于工程实际中。

    推荐阅读