【Asp.net精品源码栏目提醒】:网学会员在Asp.net精品源码频道为大家收集整理了“基于机器视觉的运动目标跟踪系统设计【毕业论文,绝对精品】 - 毕业设计“提供大家参考,希望对大家有所帮助!
本科生毕业论文(设计)题 目:基于机器视觉的运动目标跟踪系统设计专业代码:作者8200908单 位: 物理科学与信息工程学院指导教师: 2012 年 5 月 20 日
精品论文 目 录摘 要.............................................................................................................2引言...............................................................................................................4第一章 基于 OpenCV 的运动目标跟踪实验平台 .................................5 1.1 OpenCV 介绍 ..................................................................................................... 5 1.2 运动物体的检测与跟踪 .................................................................................... 6 1.3 Windows 多线程编程 ........................................................................................ 7 1.4 实验结果 .......................................................................................................... 10 1.5 展望 .................................................................................................................. 10第二章 机器视觉、.NET 与 C .............................................................. 11 2.1 机器视觉介绍 .................................................................................................. 10 2.2.net 与 C简介 ................................................................................................... 12 2.1.1.net 与 C的概念 ..................................................................................... 12 2.1.2.net 与 C的特点 ..................................................................................... 12 2.3 小结 .................................................................................................................. 15第三章 运动目标跟踪系统的图像处理单元设计 ..................................16 3.1. 视频运动目标跟踪器的总体结构 ................................................................ 16 3.2.图像处理模块设计 .......................................................................................... 16 3.2.1 图像处理模块的组成 ....................................................................... 16 3.2.2. 中值滤波 ........................................................................................... 16 3.2.3 图像边缘检测 ...................................................................................... 17 3.2.4 SAD 匹配跟踪模块的设计 .................................................................. 18 3.3 总结 .................................................................................................................. 18总结.............................................................................................................19参考文献 ....................................................................................................................... 20致 谢.........................................................................................................21
精品论文 摘 要 运动目标的检测跟踪在机器人视觉、监控测量和视频压缩编码等等方面有着广泛的应用,是近年来的一个研究热点。
本文设计了一个利用 OpenCV 软件的基于机器视觉的运动目标检测跟踪实验平台,对摄像头视野中的运动目标进行实时检测和跟踪,并留下编程和硬件接口。
运动目标跟踪系统的图像处理单元对于系统跟踪的准确性与实时性至关重要。
文中将跟踪系统采集到的动态图像序列经过预处理后送入图像处理单元进行中值滤波、边缘检测以及匹配跟踪,实现对运动目标的信息跟踪。
该文对传统的中值滤波算法进行改进,同时对 Sobel 边缘检测算法进行改进,减少了系统的运算时间,使系统的图像处理单元具有更快的处理速度和更高的实时性。
关键词 : 目标跟踪;OpenCV; C;ASIC;边缘检测
精品论文 Abstract Moving targets detection in the robot vision monitoring tracking measurementand video compression coding and so on in a wide range of applications in recentyears is a hot research topic. This paper designs an OpenCV using software based onmachine vision of the moving object detection and tracking experimental platformcamera moving object in view of real-time detection and tracking and leaveprogramming and hardware interface. The Abstract: image processing unit is key to the precision and timeliness ofthe moving target tracking system.The system collects the dynamic image andpreproeesses it,then sends the results to the image processing unit to accomplish theoperation of median filter, The edge detection an d match tracking. paper introduces animproved median filter algorithm and a novel edge detection algorithm based on Sobelalgorithm.After manipulated as above,the image processing unit decreases the timesof operation and ofers faster processing speed.Key words: Target Tracking OpenCV C ASIC Edge Detection
精品论文 基于机器视觉的运动目标跟踪系统设计 引言 目前,数字图像处理在国民生产中起到日益重要的作用,对其的研究也日益广泛和深入。
OpenCV 程序库作为数字图像研究的软件助手,具有简单易用、功能强大、移植方便等优越性能。
本文首先实验设计了一个基于 OpenCV 的运动目标检测跟踪实验平台,对从摄像头采集来的图像数据进行实时的分析,从而实现对运动物体的检测与跟踪。
实验旨在了解 OpenCV 的性能,学习 OpenCV 的使用方法;尝试并逐渐熟悉图像处理,特别是运动目标跟踪方面的知识;以及进一步提高Windows 操作系统下使用 C 语言和 C编程的能力。
C 是由微软公司开发的一种面向对象的新型编程语言。
它保留了 C/C原有的强大功能,并且继承了 C/C的灵活性,而且它又同 Visual Basic 一样具有简单的语法和高效的开发能力。
对于编写数字图像处理算法的程序员来说,相比主流的应用软件 C,C 不失为一种更佳的选择。
精品论文 第一章 基于 OpenCV 的运动目标跟踪实验平台1.1 OpenCV 介绍 OpenCV 是 Intel 开源计算机视觉库Open Computer Vision的简称。
它由一系列 C 函数和少量 C 类构成,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV 拥有包括 300 多个 C 函数的跨平台的中、高层 API。
它不依赖与其它的外部库,尽管也可以使用某些外部库。
OpenCV 具有以下特点: 1.开放
源码 2.基于 Intel 处理器指令集开发的优化代码 3.统一的结构和功能定义 4.强大的图像和矩阵运算能力 5.方便灵活的用户接口 6.支持 MS-Windows 和 Linux 操作系统 由于有了以上性能特点,OpenCV 函数库功能强大,简单易用,移植也很方便,不失为学生和科研人员进行数字图像处理方面学习和研究的好工具。
精品论文1.2 运动物体的检测与跟踪 数字图像处理中,运动物体的检测和跟踪在机器人视觉、监控测量和视频压缩编码等方面有着广泛的应用,是近年来的一个研究热点。
随着研究的深入,应用于运动物体跟踪的算法也越来越多:从最简单的“帧差法”,到“背景消减法”到“模板匹配法”,到带有预测功能的“卡尔曼滤波”和“粒子滤波”等算法,都在不断地提高对运动目标检测和跟踪的准确性和高效性。
本平台在进行运动物体检测跟踪时所采用的算法是:首先利用“帧差法”检测出初始的运动目标;一旦认为此目标合法,便根据目标在 HSI(色调、饱和度、强度) 利用 空间中 H 通道的色调特性, “连续适应性均值移动算法 ” (CamShift),对目标进行跟踪。
CamShift 算法简述如下:首先,在图像 HSI 空间中计算 H 通道(色彩通道)分量的 1D 直方图;接着,利用此 1D 直方图将原图改建成 2D 概率分布图;第三步,计算出目标区域的重心;第四部,利用经典的“Mean Shift”算法,不断平移调整窗口中心到与目标重心重合;第五步,将上一帧的窗口大小和中心,作为下一帧 Mean Shift 算法搜索窗口的初始值,在下一帧中继续 Mean Shift 运算。
计算H通道分量的 根据1D直方图建立 1D直方图 2D概率分布图 计算出目标 将上一帧结果作为 Mean Shift算法 区域的重心 下一帧初始窗口 图 1.2CamShift 流程 上述运动物体检测和跟踪的算法运算量小,跟踪效果好。
只要初始抓取目标无误,并且在色彩空间上目标与背景有一定偏差,视频跟踪便能够达到相当的准确度。
更好的一点是,此算法在跟踪同一场境内多个运动目标其中的一个时的效果,是其它同样计算复杂度的算法所难以比拟的。
精品论文1.3 Windows 多线程编程 为了达到良好的实时性能,充分利用 CPU 资源,本平台采用多线程并发处理模式进行编程。
在 Windows 操作系统下,线程与进程调度都有着一套封装好的方法,各线程轮流占用 CPU 资源。
既然没有多个 CPU 进行真正的程序“并发”执行,多线程编程要做的就是如何利用线程的“休眠”事件,合理充分地使用资源,以达到提高程序运行效率的目的。
本平台中,程序由两个线程组成:main 线程和 GetImage 线程。
Main 线程作为主线程,它启动了 GetImage 线程;除此之外 main 线程的主要功能就是利用OpenCV 函数库,对从摄像头获取的图像数据进行分析处理;此外 main 线程还负责获取用户输入信息。
GetImage 线程的主要工作就是循环地从摄像头读取数据放到缓存中,以供 main 线程分析。
在这当中,GetImage 线程往缓存中写数据与从缓存中读数据将不可避免地操作同一块缓存;为防止数据读写冲突出错,两线程在操作这块缓存时都必须上锁。
这在本平台程序中是通过“互斥量”来实现的。
另外,为防止 main 线程重复地分析同一帧图像,要求 main 线程必须等待 GetImage线程的一个信号才能进行数据读取和分析,这在平台程序中是通过 Wait/Object的方式来实现的。
程序流程图如图 1.3.1、图 1.3.2 所示
精品论文 获取摄像头句柄 是否有消息要求终 Y 线程正常终止 止此线程? N 获取图像到缓存A 锁住CPU A的数据存放到缓 存B 若事件队列里有多余 “可以读图像”事 件,则取掉一个 发送“可以读图 像”事件 释放CPU图 1.3.1 GetImage 线程
精品论文 建立图像矩阵和 显示图像的窗口 是否已获取1D 直方图? N 启动GetImage线程 Y 获取1D直方图 等待GetImage发 来的“可以读取 图像”事件 建立2D概率图将图像从缓存B复制到 利用CAMShift算 缓存C,以备处理 法,跟踪获取目标 更新跟踪窗口 从图像的HSI空间 中分离出H通道 的分量,暂存 在图上标出目标 帧差法检测运动 物体 显示图像 是否满足要求 的目标? N 获取用户输入 Y 获取跟踪目标窗体 图 1.3.2 主线程
精品论文1.4 实验结果 经过实验证明,基于 OpenCV 的运动目标检测跟踪实验平台可以在实时显示图像的基础上,实时检测和跟踪运动目标,并且检测和跟踪具有较高的鲁棒性。
在跟踪过程中,即时目标保持静止,程序也不会丢失对目标的跟踪。
检测跟踪结果如图 1.4.1 所示: 图 1.4.1 检测跟踪结果1.5 展望 本实验设计的基于 OpenCV 的目标检测、跟踪平台,由于其较低的计算复杂度和较高的鲁棒性,不仅可用于智能吸尘器的控制;也可用于其它基于全地图路径规划的机器人领域,比如:收割、搜救、测绘、探伤等等场合。
因此本平台具有广泛的应用前景。
精品论文 第二章 .NET 与 C2.1 机器视觉介绍2.1.1 概述 机器视觉就是用机器代替人眼来做测量和判断。
机器视觉系统是指通过机器视觉产品(即图像摄取装置,分 CMOS 和 CCD 两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。
机器视觉系统的特点是提高生产的柔性和自动化程度。
在一些不适合于人工作业的危险工作环境或人工视觉难以满足要求的场合,常用机器视觉来替代人工视觉;同时在大批量工业生产过程中,用人工视觉检查产品质量效率低且精度不高,用机器视觉检测方法可以大大提高生产效率和生产的自动化程度。
而且机器视觉易于实现信息集成,是实现计算机集成制造的基础技术。
2.1.2 基本结构 一个典型的工业机器视觉系统包括:光源、镜头、 相机(包括 CCD 相机和COMS 相机)、图像处理单元(或图像捕获卡)、图像处理软件、监视器、通讯 / 输入输出单元等。
2.1.3 工作原理 机器视觉检测系统采用 CCD 照相机将被检测的目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号,图像处理系统对这些信号进行各种运算来抽取目标的特征,如面积、数量、位置、长度,再根据预设的允许度和其他条件输出结果,包括尺寸、角度、个数、合格 /不合格、有 / 无等,实现自动识别功能。
精品论文2.2.net 与 C简介2.2.1.net 与 C的概念 .NET 就是微软的用来实现 XML,Web Services,SOA(面向服务的体系结构 service-oriented architecture)和敏捷性的技术。
对技术人员,想真正了解什么是.NET,必须先了解.NET 技术出现的原因和它想解决的问题,必须先了解为什么他们需要 XMLWeb Services 和 SOA。
技术人员一般将微软看成一个平台厂商。
微软搭建技术平台,而技术人员在这个技术平台之上创建应用系统。
从这个角度,.NET 也可以如下来定义:.NET 是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。
从技术的角度,一个.NET 应用是一个运行于.NET Framework 之上的应用程序。
(更精确的说,一个.NET 应用是一个使用.NET Framework 类库来编写,并运行于公共语言运行时 CommonLanguage Runtime 之上的应用程序。
)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET 程序。
比如,仅仅使用了 XML 并不就是.NET 应用,仅仅使用 SOAP SDK 调用一个 Web Service 也不是.NET 应用。
C(读作 C sharp):是由微软公司的 Anders Hejlsberg 和 Scott Willamette领导的开发小组专门为.NET 平台设计的语言。
C由 C 语言和 C派生而来,继承了其强大的性能,同时又以.NET 框架类库作为基础,拥有类似 Visual Basic 的快速开发能力。
它可以使程序员移植到.NET 上。
这种移植对于广大的程序员来说是比较容易的,因为 C从 C,C和 Java 发展而来,它采用了这三种语言最优秀的特点,并加入了它自己的特性。
2.2.2.net 与 C的特点
Asp.net 是一种动态网站高级编程语言。
Asp.net 是一种建立在公共语言运行库上的编程框架,可用于服务器上开发强大的 web 应用程序。
asp.net 不但执行效率高,对代码的控制也做的很好。
并且支持 web controls 功能和多种语言。
以提高安全性,以管理性和高扩展性。
生产效率,使用
asp.net 服务器控件和包含很多现有控件,可以轻松的创建
asp.net 网页和应用程序。
灵活性和可扩展性,
精品论文很多
asp.net 功能都可以扩展。
这样可以轻松的将自定义功能集成到应用程序中。
安全性,现在相 web 应用程序添加身份验证和授权非常简单。
完整性,可以创建解决实时 web 开发挑战的端对端方案。
1.GC 垃圾回收机制 垃圾回收机制,作为 CLR 最大的亮点之一,使得传统的 Native 语言c/c程序员quot彻底quot摆脱了一直影响编程质量的内存泄漏问题,引得大家无数的好奇和关注。
2.反射机制 审查元数据并收集关于它的类型信息的能力。
元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。
3.泛型编程 .NET 2.0 的 System.Collections.Generics 命名空间包含了泛型集合定义。
灵活应用泛型可以充分发挥代码威力,不用重复定义各类方法和无节制的类型重载 4.网络编程 网络编程方面的改进包括以下内容: 针对 Windows 身份验证的安全改进体现在几个类中,包括System.Net.HttpWebRequest,System.Net.HttpListener,System.Net.Mail.SmtpClient,System.Net.Security.SslStream 和System.Net.Security.NegotiateStream。
在 Windows 7 和 Windows Server 2008R2 中运行的应用程序可以使用扩展保护功能。
5.工作流 Windows 通信基础实现了消息管理方面的增强并提供与 Windows 工作流基础的无缝集成。
WF 提供的改进体现在性能、可扩展性、工作流建模以及一个更新的可视化设计器等方面。
6.并行计算 .NET 框架 4 针对编写多线程和异步代码引入了一个新的编程模式,从而极大地简化了应用程序和库开发者的编程。
此新的模式可以使开发人员以一种自然的方式来编写高效的,良好粒度的,可扩展的并行代码,而不必直接使用线程或线
精品论文程池等。
新的 System.Threading.Tasks 命名空间和其他相关类型支持这种新模式。
并行 LINQPLINQ,作为 LINQ to Objects 的一种并行实现,能够通过声明性语法支持类似的功能。
7. 托管扩展性框架 托管扩展性框架MEF是.NET 框架 4 中的一个新库,帮助您构建可扩展的和可组合式应用程序。
MEF 可以让您指定在一个应用程序中的扩展点,给其他扩展的应用程序提供服务,以及创建可扩展应用程序所使用的部件等。
8.委托机制 C使用一种委托模型来实现事件。
事件的处理方法不必在将生成事件的类中定义。
这种机制有许多优势。
它既有普遍性,又很灵活。
设想应用程序中有两个按钮,但这两个按钮的作用不同。
如果事.
上一篇:
【精品】Web技术与应用
下一篇:
顶棚装饰工程施工