基于机器视觉的运动目标跟踪系统设计毕业论文.doc
《基于机器视觉的运动目标跟踪系统设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于机器视觉的运动目标跟踪系统设计毕业论文.doc(21页珍藏版)》请在三一办公上搜索。
1、 本科生毕业论文(设计)题 目:基于机器视觉的运动目标跟踪系统设计 专业代码: 作者姓名: 学 号: 单 位: 物理科学与信息工程学院 指导教师: 2012年 5月 20日目 录摘 要2引言4第一章 基于OpenCV的运动目标跟踪实验平台51.1 OpenCV介绍51.2运动物体的检测与跟踪61.3Windows多线程编程71.4实验结果101.5展望10第二章 机器视觉、.NET与C#112.1机器视觉介绍10与C#简介12与C#的概念12与C#的特点122.3小结15第三章 运动目标跟踪系统的图像处理单元设计163.1. 视频运动目标跟踪器的总体结构163.2.图像处理模块设计163.21
2、 图像处理模块的组成163.2.2. 中值滤波163.2.3图像边缘检测173.2.4 SAD匹配跟踪模块的设计183.3总结18总结19参考文献20致 谢21摘 要运动目标的检测跟踪在机器人视觉、监控测量和视频压缩编码等等方面有着广泛的应用,是近年来的一个研究热点。本文设计了一个利用OpenCV软件的基于机器视觉的运动目标检测跟踪实验平台,对摄像头视野中的运动目标进行实时检测和跟踪,并留下编程和硬件接口。运动目标跟踪系统的图像处理单元对于系统跟踪的准确性与实时性至关重要。文中将跟踪系统采集到的动态图像序列经过预处理后送入图像处理单元进行中值滤波、边缘检测以及匹配跟踪,实现对运动目标的信息跟踪
3、。该文对传统的中值滤波算法进行改进,同时对Sobel边缘检测算法进行改进,减少了系统的运算时间,使系统的图像处理单元具有更快的处理速度和更高的实时性。关键词 : 目标跟踪;OpenCV; C#;ASIC;边缘检测AbstractMoving targets detection in the robot vision, monitoring tracking measurement and video compression coding, and so on in a wide range of applications, in recent years is a hot research t
4、opic. This paper designs an OpenCV using software based on machine vision of the moving object detection and tracking experimental platform, camera moving object in view of real-time detection and tracking, and leave programming and hardware interface. Abstract:The image processing unit is key to th
5、e precision and timeliness of the moving target tracking systemThe system collects the dynamic image and preproeesses it,then sends the results to the image processing unit to accomplish the operation of median filter,edge detection an d match trackingThe paper introduces an improved median filter a
6、lgorithm and a novel edge detection algorithm based on Sobel algorithmAfter manipulated as above,the image processing unit decreases the times of operation and ofers faster processing speed.Key words: Target Tracking; OpenCV; C#; ASIC; Edge Detection基于机器视觉的运动目标跟踪系统设计引言目前,数字图像处理在国民生产中起到日益重要的作用,对其的研究也
7、日益广泛和深入。OpenCV程序库作为数字图像研究的软件助手,具有简单易用、功能强大、移植方便等优越性能。本文首先实验设计了一个基于OpenCV的运动目标检测跟踪实验平台,对从摄像头采集来的图像数据进行实时的分析,从而实现对运动物体的检测与跟踪。实验旨在了解OpenCV的性能,学习OpenCV的使用方法;尝试并逐渐熟悉图像处理,特别是运动目标跟踪方面的知识;以及进一步提高Windows操作系统下使用C语言和C+编程的能力。C# 是由微软公司开发的一种面向对象的新型编程语言。它保留了 C/C+原有的强大功能,并且继承了 C/C+的灵活性,而且它又同 Visual Basic 一样具有简单的语法和
8、高效的开发能力。对于编写数字图像处理算法的程序员来说,相比主流的应用软件 C+,C# 不失为一种更佳的选择。第一章 基于OpenCV的运动目标跟踪实验平台1.1 OpenCV介绍OpenCV是Intel开源计算机视觉库(Open Computer Vision)的简称。它由一系列 C 函数和少量 C+ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV 拥有包括300多个C函数的跨平台的中、高层API。它不依赖与其它的外部库,尽管也可以使用某些外部库。OpenCV具有以下特点:1.开放源码2.基于Intel处理器指令集开发的优化代码3.统一的结构和功能定义4.强大的图像和矩阵运
9、算能力5.方便灵活的用户接口6.支持MS-Windows和Linux操作系统由于有了以上性能特点,OpenCV函数库功能强大,简单易用,移植也很方便,不失为学生和科研人员进行数字图像处理方面学习和研究的好工具。1.2运动物体的检测与跟踪数字图像处理中,运动物体的检测和跟踪在机器人视觉、监控测量和视频压缩编码等方面有着广泛的应用,是近年来的一个研究热点。随着研究的深入,应用于运动物体跟踪的算法也越来越多:从最简单的“帧差法”,到“背景消减法”到“模板匹配法”,到带有预测功能的“卡尔曼滤波”和“粒子滤波”等算法,都在不断地提高对运动目标检测和跟踪的准确性和高效性。本平台在进行运动物体检测跟踪时所采
10、用的算法是:首先利用“帧差法”检测出初始的运动目标;一旦认为此目标合法,便根据目标在HSI(色调、饱和度、强度)空间中H通道的色调特性,利用“连续适应性均值移动算法(CamShift)”,对目标进行跟踪。CamShift算法简述如下:首先,在图像HSI空间中计算H通道(色彩通道)分量的1D直方图;接着,利用此1D直方图将原图改建成2D概率分布图;第三步,计算出目标区域的重心;第四部,利用经典的“Mean Shift”算法,不断平移调整窗口中心到与目标重心重合;第五步,将上一帧的窗口大小和中心,作为下一帧Mean Shift算法搜索窗口的初始值,在下一帧中继续Mean Shift运算。图1.2C
11、amShift流程上述运动物体检测和跟踪的算法运算量小,跟踪效果好。只要初始抓取目标无误,并且在色彩空间上目标与背景有一定偏差,视频跟踪便能够达到相当的准确度。更好的一点是,此算法在跟踪同一场境内多个运动目标其中的一个时的效果,是其它同样计算复杂度的算法所难以比拟的。1.3Windows多线程编程为了达到良好的实时性能,充分利用CPU资源,本平台采用多线程并发处理模式进行编程。在Windows操作系统下,线程与进程调度都有着一套封装好的方法,各线程轮流占用CPU资源。既然没有多个CPU进行真正的程序“并发”执行,多线程编程要做的就是如何利用线程的“休眠”事件,合理充分地使用资源,以达到提高程序
12、运行效率的目的。本平台中,程序由两个线程组成:main线程和GetImage线程。Main线程作为主线程,它启动了GetImage线程;除此之外main线程的主要功能就是利用OpenCV函数库,对从摄像头获取的图像数据进行分析处理;此外main线程还负责获取用户输入信息。GetImage线程的主要工作就是循环地从摄像头读取数据放到缓存中,以供main线程分析。在这当中,GetImage线程往缓存中写数据与从缓存中读数据将不可避免地操作同一块缓存;为防止数据读写冲突出错,两线程在操作这块缓存时都必须上锁。这在本平台程序中是通过“互斥量”来实现的。另外,为防止main线程重复地分析同一帧图像,要求
13、main线程必须等待GetImage线程的一个信号才能进行数据读取和分析,这在平台程序中是通过Wait/Object的方式来实现的。程序流程图如图1.3.1、图1.3.2所示图1.3.1 GetImage线程图1.3.2主线程1.4实验结果 经过实验证明,基于OpenCV的运动目标检测跟踪实验平台可以在实时显示图像的基础上,实时检测和跟踪运动目标,并且检测和跟踪具有较高的鲁棒性。在跟踪过程中,即时目标保持静止,程序也不会丢失对目标的跟踪。检测跟踪结果如图1.4.1所示:图1.4.1检测跟踪结果1.5展望本实验设计的基于OpenCV的目标检测、跟踪平台,由于其较低的计算复杂度和较高的鲁棒性,不仅
14、可用于智能吸尘器的控制;也可用于其它基于全地图路径规划的机器人领域,比如:收割、搜救、测绘、探伤等等场合。因此本平台具有广泛的应用前景。第二章 .NET与C#2.1机器视觉介绍2.1.1 概述机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是指通过机器视觉产品(即图像摄取装置,分 CMOS 和CCD 两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。机器视觉系统的特点是提高生产的柔性和自动化程度。在一些不适合于人工作业的危险工作环境或人工视觉
15、难以满足要求的场合,常用机器视觉来替代人工视觉;同时在大批量工业生产过程中,用人工视觉检查产品质量效率低且精度不高,用机器视觉检测方法可以大大提高生产效率和生产的自动化程度。而且机器视觉易于实现信息集成,是实现计算机集成制造的基础技术。2.1.2基本结构一个典型的工业机器视觉系统包括:光源、镜头、 相机(包括CCD 相机和COMS相机)、图像处理单元(或图像捕获卡)、图像处理软件、监视器、通讯 / 输入输出单元等。2.1.3工作原理机器视觉检测系统采用CCD照相机将被检测的目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号,图像处理系统对这些信号进行
16、各种运算来抽取目标的特征,如面积、数量、位置、长度,再根据预设的允许度和其他条件输出结果,包括尺寸、角度、个数、合格 / 不合格、有 / 无等,实现自动识别功能。与C#简介与C#的概念.NET就是微软的用来实现XML,Web Services,SOA(面向服务的体系结构service-oriented architecture)和敏捷性的技术。对技术人员,想真正了解什么是.NET,必须先了解.NET技术出现的原因和它想解决的问题,必须先了解为什么他们需要XML,Web Services 和 SOA。技术人员一般将微软看成一个平台厂商。微软搭建技术平台,而技术人员在这个技术平台之上创建应用系统。
17、从这个角度,.NET也可以如下来定义:.NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时 Common Language Runtime之上的应用程序。)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于机器视觉的运动目标跟踪系统设计 毕业论文 基于 机器 视觉 运动 目标 跟踪 系统 设计
链接地址:https://www.31ppt.com/p-3940643.html