论文部分内容阅读
双目立体成像一直被人们热衷和追求,却永远是一座难以逾越的城墙。理论上,双目立体成像系统可以抓取还原空间任何一个物体,甚至包括物体上的每一个点的三维坐标。所以双目立体成像系统的应用非常的广泛,随着双目视觉系统理论的日渐丰富,它在地形勘测、自主导航、人机互动等运用中发挥着越来越重要的作用。而这些方面的应用需求,也对于双目立体视觉系统的实现有了更多的要求。低功耗、小体积的双目立体视觉系统成了目前这类系统发展的趋势。本论文在OpenCV视觉库的基础上,深入研究摄像头标定和立体匹配算法,并分别对摄像头标定和立体匹配做一系列不同的实验比对后,选择合适的算法,然后将算法移植到嵌入式系统中,针对直接将算法移植到Cortex-A8无法满足实时性的问题,又提出了几点改进意见,最终成功实现基于嵌入式系统的,具有实时性的双目立体视觉系统,本文的主要贡献在于:(1)研究OpenCV立体视觉库,将OpenCV中存在的多种算法做比较,进行对比实验,设计了一套完整的,可行的双目立体成像算法系统。(2)详细研究了基于张正友理论的摄像头标定算法,分析了标定模板数量对标定结果的影响,标定模板对称与不对称对标定结果的影响,以及将亚像素角点提取函数与查找角点函数结合使用后的标定结果,最后通过与业界公认的标定工具箱Matlab标定工具箱所得出的结果作比较,最终实现了一套稳定,快速,方便,一次标定出结果的标定方案。(3)详细分析了立体匹配算法中BMState参数不同的配置对立体匹配信息完整度,匹配速度的不同影响。提出如何通过优化BMState来提高嵌入式系统的实时性能。(4)优化选定的OpenCV算法,实现一套在嵌入式系统上的具有实时性的双目立体视觉成像系统。由于ARM运算速度和内存上的限制,直接移植,系统无法达到实时性,通过优化浮点运算,降低采样率,调整匹配参数和优化代码,最终基本实现了实时性。