- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于opencv目标跟踪与检测课程研发设计
课程设计Ⅰ设计报告
题 目:基于Opencv运动目标跟踪与检测
学 号:
姓 名:
学 院: 信息学院
专业班级: 计算机软件2班
指导教师: 黄文培
设计时间: 2012.9.3
指导老师评语:
评定成绩: 签名: 日期:
摘 要
本文先介绍一种开放源代码的计算机视觉类库OpenCV,主要阐述该类库的特点及其结构,然后介绍本人学习opencv一些基本功能的实现以及结果。最后通过“检测一个视频中的运动物体”这一实例探讨了使用OpenCV进行编程的方法。
关键词 图像处理 目标检测 OpenCV IplImage VC++
目 录
1 概述 4
1.1 目标跟踪与检测课程设计目的 4
1.2 目标跟踪与检测设计任务与要求 4
1.3 目标跟踪与检测的开发环境 4
2 目标跟踪与检测系统设计的基本概念与原理 4
2.1 目标跟踪与检测的基本概念与知识 4
2.2目标跟踪与检测系统设计实现平台的搭建 12
2.1与目标跟踪与检测相关的一些基本功能 18
3 基于opencv运动目标跟踪与检测系统实现的详细说明 33
3.1 一般目标跟踪的实现 33
3.2 本文的检测算法 34
3.3 Camshift算法原理及其Opencv实现 35
3.4目标跟踪与检测系统的运行结果 39
4 目标跟踪与检测的课程设计总结 44
参考文献
1概述
1.1目标跟踪与检测课程设计目的
1.通过实验了解opencv运动物体跟踪的数据结构、函数以及基本框架;
2.通过实验提高对于图像与视频的认识;
3.通过学习,掌握基本的opencv图像与视频的知识。
4.通过实验将理论和实践联系起来,提升对于理论知识的认识;
1.2目标跟踪与检测设计任务与要求
1.通过学习做该课程设计,掌握一些opencv的基本知识以及图像与视频的知识。
2.调用基于intel 的开源视觉库opencv,实现视频或者摄像头的监控;
3.编程实现对进入视觉范围内的运动物体实施监测;
1.3 目标跟踪与检测Opencv开发环境
一台pc机,Microsoft Visual C++ 6.0
2 系统设计的基本概念与原理
2.1 目标跟踪与检测基本概念与知识
2.1.1. OpenCV简介
开放源代码的计算机视觉类库OpenCV (Intel Open Source Computer Vision Library)由英特尔公司开发.它是一套可免费获得的由一些C函数和C++类所组成的库,用来实现一些常用的图像处理及计算机视觉算法。OpenCV主要用于对图像进行一些高级处理,比如说特征检测与跟踪、运动分析、目标分割与识别以及3D重建等。
它有以下特点; 开放C源码,基于Intel处理器指令集开发的优化代码,统一的结构和功能定义,强大的图像和矩阵运算能力,方便灵活的用户接口,同时支持WINDOWS、LINUX平台等。
(1) OpenVC的数据结构
OpenCV提供了多种基本数据类型虽然这些数据类型在C语言中不是基本类型但结构都很简单,可将它们作为原子类型penCV函数库进行编程的过程中,常常会需要用到这些结构类型,只有真正了解这些结构才能够很好地利用OpenCV函数库来解决问题
基础的数据类型包括:CvPoint基于二维整形坐标轴的点.CvSize矩形框大小。CvRect矩形框的偏移和大小,以像素为精度,CvMat多通道矩阵等。
OpenCV提供了多种基本数据类型虽然这些数据类型在C语言中不是基本类型但结构都很简单,可将它们作为原子类型penCV函数库进行编程的过程中,常常会需要用到这些结构类型,只有真正了解这些结构才能够很好地利用OpenCV函数库来解决问题。
下面对几个比较常用的简单结构进行介绍。
1)
在这些数据类型中最简单的就是CvPoint二维坐标系下的点,类型为整型
typedef struct CvPoint
{
int x; /* x坐标, 通常以0为基点 */int y; /* y坐标, 通常以0为基点 */
} CvPoint
2)CvSize
CvSize结构用来表示矩形框大小,以像素为精度,结构体中分别定义了矩形的宽高和高度,定义如下:
typedef struct Cvsize
{
int width; /*矩形宽度,单位为像素*/
int height; /*矩形高度,单位为像素*/
}CvSize;
Cv
文档评论(0)