基于OpenCV的图像短程测距系统的设计与实现文献综述
2020-06-28 20:13:25
一、课题分析
随着人工智能技术的迅猛发展,利用机器进行图像处理的机器视觉技术受到广泛关注,也已成为当前人工智能技术研究的重要内容之一。
课题是设计相关系统对图像进行测距。
首先,需要摄取到图像,常用的设备有相机、摄像机,以及视频图像采集卡等。然后要在设计中进行图像获取处理,图像的数据量并不小,简单的图像其实包含的信息却是大量的。先就图片来说,图片的大小与颜色模式有关,RGB模式下,图片每一个像素是由3个字节数值表示,也就是说每一像素是由24位01代码构成。比如:240*320=76800px;76800*3(byte)/1024=225k(byte);若摄取到的图片更大,或者是对于一段视频则需要考虑它的信息量是每秒24帧图片的大小,所以应当设计出能够进行快速处理的相关系统。
其次,关于图像测量,即对图像中目标或区域的特征进行量测和估计。广义的图像测量包括对图像的灰度特征、纹理特征和几何特征的量测和描述。狭义图像测量仅指对图像目标几何特征的量测,包括对目标或区域几何尺寸的量测和几何形状特征的分析。而本课题所涉及的是图像测量类别中的距离测量。那么我们如何进行图像测距?这就涉及到图像处理的有关知识。
图像处理是计算机、传感器、信息技术、信号处理、人工智能等的交叉学科和技术。一般利用数学模型并结合图像处理的技术来分析底层特征和上层结构,从而提取具有一定智能性的信息。由此,我们使用的是OpenCV计算机视觉库结合合适的开发语言进行图像处理分析以达到测距目的。
二、OpenCV介绍
作为机器视觉领域重要的图像/视频处理软件库,基于BSD许可的跨平台计算机视觉库OpenCV已广泛应用于实时的图像处理、计算机视觉以及模式识别等方面。可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效,OpenCV实现了图像处理和计算机视觉方面的很多通用算法。应用领域包括人机互动、物体识别、图像分割、人脸识别、动作识别、运动跟踪分析、机器视觉、汽车安全驾驶等。
OpenCV可使用的开发语言有以下几种:MATLAB,C ,Python。使用OpenCV(Python)的有点主要是易于使用,过程比较简单,Python与C 相比也是一门易于学习的语言。在计算机视觉领域和机器学习领域,提供了一个学习和实验的强大环境。OpenCV在 Python 环境下比 C 更容易去调试代码。可视化与MATLAB媲美。它同样是一种多被用于建立网站的语言,可用于构件 web 后端。结合一些框架,我们使用 OpenCV(Python)会更加地容易。
三、机器视觉测量方法介绍