本文是一篇视频论文范文,关于视频硕士毕业论文,关于基于OpenCV的交通视频感知处理程序框架相关毕业论文题目范文。适合视频及计算机及图像方面的的大学硕士和本科毕业论文以及视频相关开题报告范文和职称论文写作参考文献资料下载。
摘 要:为了实现交通视频信息的感知和提取,采用基于MFC并使用OpenCV进行视频处理的可视化编程方法,通过构造一个包含常见操作的C++类,同时以OpenCV中的相关函数为接口,建立了一个视频处理程序架构,来实现MFC应用程序对OpenCV算法的融合,以智能地感知和处理交通视频中的信息.
关 键 词:MFC;OpenCV;视频处理;信息感知
中图分类号:TP391文献标识码:A文章编号:2095-1302(2012)09-0034-03
TrafficvideoperceptionframeworkbasedonOpenCV
LIZi-heng1,BAIYun-feng2
(1.SchoolofElectronicandControlEngineering,Chang’anUniversity,Xi’an710064,China,
2.HenanProvinceCaymanAluminium(Sanmenxia)Co.,Ltd.,Sanmenxia472100,China)
Abstract:Inordertoachievetheperceptionandretrievaloftrafficvideoinformation,thepaperadoptsthebiningmethodofMFCandOpenCVforisualprogrammingforvideoprocessing.TakingfunctionsinOpenCVasaninterface,ideoprocessingframeworkisbuiltbyconstructingoperationsinC++classtointegrateMFCapplicationwithOpenCValgorithmsandtointelligentlyperceiveandprocessthetrafficinformation.
Keywords:MFC,OpenCV,videoprocessing,informationperception
0引言
计算机视觉技术是通过对常见的图像、视频进行操作来提取其中信息的一种技术.OpenCV是Intel公司开发的一款开源图像视频处理库,使用OpenCV中封装好的库函数,可以很方便地对视频中的图像进行提取、保存、变换等形态学操作,这种技术在很大程度上简化了开发的进程[2].
由于OpenCV只提供相关处理的算法,而程序操作界面略显不足,所开发的程序进行参数设置不方便,因此,在实际应用层面,开发者通常将OpenCV函数库与MFC(MicrosoftFoundationClasses是微软基础类库,可提供Windows编程的框架)相结合进行开发[3].这种使用MFC构建Win32程序框架,并使用OpenCV构建算法的各取所长方法,对于软件的实用性和可操作性具有重大意义.
本文总结出了一套将OpenCV算法应用于Win32对话框程序中的标准方法,该方法可以通过定义C++类创建对象,来轻松实现对公路交通视频中交通参数的提取.
1视频车辆检测器的基本功能
本程序以MFC+OpenCV的方式进行开发,并以实用为准则,通过可视化的界面和按钮的方式来实现原始视频的播放,视频信息分析,自定义观测点和车流量计数周期,交通参数的测量,统计结果的存储和重现等功能.其软件各个功能的关系如图1所示.
2视频车辆检测器的技术实现
要实现上述系统,主要有两方面问题:一是如何构建视频对象,并通过操作视频对象来对视频信息进行提取;二是如何对视频进行操作来实现上述的各个功能.
2.1创建视频对象
使用创建对象的方式操作视频时,首先要定义视频的类.在视频处理中,通常先提取出一帧一帧的图像,然后对所提取的图像进行处理,再将其保存或者播放至应用程序的控件中[4].跟据此原理,可定义一个视频的类,类中包含上述过程所涉及的属性和操作方法[5],其代码及注释如下(代码中视频类的名称为CVideo):
classCVideo{
public:
CVideo(),//构造函数
virtual~CVideo(),//析构函数
//以下为数据成员
CvCapture*pCapture,
//OpenCV用来读取视频的结构体,存储待读取的视频
IplImage*pFrame,
//OpenCV用来存储图像的结构体,存储当前视频帧的
图像
IplImage*cFrame,//存储当前帧处理后的图像
HDChDC1,
//定义设备上下文的句柄,用来播放原始视频(可选)
CRectrect1,
//定义一个矩形区域,用来设定原始视频的ROI区域
HDChDC2,
//定义设备上下文的句柄,用来播放处理后的视频
CRectrect2,
//定义一个矩形区域,用来设定处理后视频的ROI区域
CStringm_file,//字符串,存储视频的路径和名称
intm_framepos,//当前的播放位置
intm_frametotal,//视频的帧总数
intm_fps,
//存储视频中每秒的帧数,便于进行播放速度的控制