基于opencv的运动目标检测与跟踪-毕设论文 联系客服

发布时间 : 星期一 文章基于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