反 信
馈 息
控制信息
图 2 机器人视觉系统组成框架
1。3 课题内容及章节安排
本次研究直接在 Windows 系统中以 Microsoft Visual Studio 2012 为集成开发 环境,依据开源视觉库 OpenCV2。4。9,对二位数字图像的噪声的去除、运动目标 的正确识别、检测与跟踪、处理的实时性等关键要点进行了针对性研究。本次课 题预计将使用在 RobotsMaster 全国大学生机器人大赛中,因为该比赛采用红、 蓝双方对抗的形式,双方机器人身上有着对应颜色的旗帜或标志。假定我方为蓝 方,因此为了迅速、有效地锁定敌方机器人,我们在本次研究中将基于颜色特征 来检测和锁定敌人,文中暂时不考虑纯黑白的灰度图像的识别的情况。论文网
本文的章节安排内容如下:
第二章将对本次研究所使用的开源数据库 OpenCV 进行简单的介绍,详细描述 在 VS2012 的集成开发环境下的开发平台的搭建。
第三章将介绍对图像的噪声处理方面的内容,通过程序模拟出具有代表性的椒
盐噪声和高斯噪声,综合运用各种方法去除噪声,实验比较这些方法的优缺点。 不仅分别处理了添加噪声的图片用实际图像结果对比优劣,还从算法和噪声的原 理和特性方面,深入分析其中的均值滤波算法和中值滤波算法,在考虑到处理质 量和实时性的要求,选择了其中更加具有优势的中值算法。
第四章主要介绍对目标的检测、获取与跟踪方面的内容。在检测运动目标方面, 由于本次研究目的的特殊性,本文利用目标的颜色特征对目标进行检测。在跟踪 目标方面,重点研究并采用了 Camshift 算法对目标进行跟踪。
第五章总结了本次研究的全部内容并对机器视觉系统的发展进行了展望。
第二章 开发平台的搭建
2。1 OpenCV 2。4。9 的介绍
OpenCV 全称为 Open source Computer Vision,是一个开源程序库,包含了 500 多个用于图像和视频分析的优化算法,可用于 Windows、Linux、Android 和 Mac OS 系统中[11]。当前机器视觉的研究者们,无论是主动视觉还是被动视觉, 无论是为了实现物体识别、还是为了实现跟踪寻迹,都在大量使用 OpenCV 的视 觉库。
OpenCV 作为一个开放源代码的计算机视觉 API 数据库,不管是不管是科学 研究还是商业应用,都可以用它来开发,而且可以看到 API 函数内部程序步骤, 了解各种算法的工作原理,而且我们自行优化的函数算法程序也可以将之添加到 库中,方便以后的调用,可以节约大量的编程时间,对于机器视觉的学习和开发 都有很大便利。
从 2。2 版开始,OpenCV 的库分为了几个模块。这些模块是内置的库文件, 位于 lib 目录下。其中常用模块有:
opencv_core 模块,包含了程序库的核心功能,特别是基本的数据结构和算 法函数;
opencv_imgproc 模块,包含了主要的图像处理函数;
opencv_highgui 模块,包含图像、视频读写函数和部分用户界面函数; opencv_features2d 模块,包含特征点检测器、描述子以及特征点匹配框架; opencv_calib3d 模块,包含相机标定、双视角几何估计以及立体函数; opencv_video 模块,包含运动估计、特征跟踪以及前景提取函数和类; opencv_objdetect 模块,包含目标检测函数,例如面部和人体探测器。 OpenCV 库还包含了其他使用模块,但是一般来说,使用刚才列出的前三个
模块,然后根据具体程序的作用域选择其他的模块[12]。 所有的这些模块都有一个对应的头文件(位于 include 目录中)。因此,典型