发布时间 : 星期一 文章基于opencv的运动目标检测与跟踪-毕设论文更新完毕开始阅读22ea8842366baf1ffc4ffe4733687e21af45fff0
沈阳航空航天大学毕业设计(论文)
能、Web实现性和可嵌入性等特性。
2.3 OpenCV在Visual C++6.0下的配置方法
本文的硬件平台为普通的笔记本电脑,内存容量为2G。视频输入有一个USB摄像头。软件开发平台为WindowsXP、OpenCV 1.0以及MS Visual C++6.0 (以下简称VC6.0)。
其中OpenCV配置的过程如下:
假如要将OpenCV安装到C:\\Program Files\\OpenCV,在安装OpenCV时选择\将\\OpenCV\\bin加入系统变量\(Add\\OpenCV\\bin to the systerm PATH)。然后,检查C:\\Program Files\\OpenCV\\bin是否已经被加入到环境变量PATH,如果没有,请加入。加入后需要注销当前Windows用户(或重启)后重新登陆才生效。(可以在任务管理器里重启explorer.exe)。
在VC6.0下的配置步骤如下: 1)全局设置
菜单Tools->Options->Directories:
先设置lib路径,选择Library files,在下方填入路径:C:\\Program Files\\OpenCV\\lib。
图2.1 Library files设置
然后选择Include files,在下方填入路径:
7
基于VC的运动图像跟踪算法设计
图
2.2 Include files设置
然后选择Source files,在下方填入路径:
图2.3 Source files设置
最后点击“OK”,完成设置。 2)项目设置
每创建一个将要使用OpenCV的VC Project,都需要给它指定需要的lib。菜单:Project->Settings,然后将Setting for选为All Configurations,然后选择右边的link标签,在Object/library modules(对象/库模块)附加上:cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib如果你不需要这么多lib,你可以只添加你需要的lib。
8
沈阳航空航天大学毕业设计(论文)
图2.4 项目设置
2.4 OpenCV中常用的数据结构及函数介绍
2.4.1数据结构
OpenCV设计了一些基础的数据类型和一些帮助数据类型,在运用OpenCV函数库进行编程的过程中,常常会需要用到这些结构类型,只有正真了解这些结构才能够很好地利用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; 3)IplImage 结构
9
基于VC的运动图像跟踪算法设计
OpenCV库主要是使用“IplImage”结构体来创造和处理图像。IplImage结构来源于inter的另外一个函数库IPL,该函数库主要是针对图像处理。定义如下:
typedef struct IplImage {
int nSize; /*IplImage大小*/ int ID; /*版本(=0)*/
int nChannels; /*大多数opencv函数支持1~4个信道*/ int depth; /*像素的位深度*/
int dataOrder; /*0:交叉存取颜色信道。1:分开的颜色信道。只有
cvCreateImage可以创建交叉存取图像*/
int origin; /*0:顶—左结构,1:底—左结构*/ int width; /* 图像宽像素 */ int heighet; /*图像高像素*/
struct_IplROI *roi; /*图像感兴趣区域*/ int imageSize; /*图像数据大小*/
int widthStep; /*排列的图像大小,以字节为单位*/ }
4)CvCapture结构
typedef struct CvCapture CvCapture;
结构CvCapture 没有公共接口,它只能被用来作为视频获取函数的一个参数。 5)cvCreateVideoWriter结构
typedef struct CvVideoWriter CvVideoWriter; 2.4.2常用函数
下面介绍一下OpenCV中常用的几个函数,也是本系统常用的函数,分别说明如下。
1)cvLoadImage( ):载入图像 IplImage* cvLoadImage(
const char* filename,
int iscolor=CV_LOAD_IMAGE_COLOR );
filename:要被读入的文件的文件名。
10