欢迎来到天天文库
浏览记录
ID:12351036
大小:36.50 KB
页数:9页
时间:2018-07-16
《基于opencv的交通视频感知处理程序框架》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于OpenCV的交通视频感知处理程序框架摘要:为了实现交通视频信息的感知和提取,采用基于mfc并使用opencv进行视频处理的可视化编程方法,通过构造一个包含常见操作的c++类,同时以opencv中的相关函数为接口,建立了一个视频处理程序架构,来实现mfc应用程序对opencv算法的融合,以智能地感知和处理交通视频中的信息。关键词:mfc;opencv;视频处理;信息感知abstract:inordertoachievetheperceptionandretrievaloftrafficvideoinformation,thepa
2、peradoptsthecombiningmethodofmfcandopencvforavisualprogrammingforvideoprocessing.takingfunctionsinopencvasaninterface,avideoprocessingframeworkisbuiltbyconstructingoperationsinc++classtointegratemfcapplicationwithopencvalgorithmsandtointelligentlyperceiveandprocessthet
3、rafficinformation.keywords:mfc;opencv;videoprocessing;informationperception0引言计算机视觉技术是通过对常见的图像、视频进行操作来提取其中信息的一种技术。opencv是intel公司开发的一款开源图像视频处理库,使用opencv中封装好的库函数,可以很方便地对视频中的图像进行提取、保存、变换等形态学操作,这种技术在很大程度上简化了开发的进程[2]。由于opencv只提供相关处理的算法,而程序操作界面略显不足,所开发的程序进行参数设置不方便,因此,在实际应用层面
4、,开发者通常将opencv函数库与mfc(microsoftfoundationclasses是微软基础类库,可提供windows编程的框架)相结合进行开发[3]。这种使用mfc构建win32程序框架,并使用opencv构建算法的各取所长方法,对于软件的实用性和可操作性具有重大意义。本文总结出了一套将opencv算法应用于win32对话框程序中的标准方法,该方法可以通过定义c++类创建对象,来轻松实现对公路交通视频中交通参数的提取。1视频车辆检测器的基本功能本程序以mfc+opencv的方式进行开发,并以实用为准则,通过可视化的界面
5、和按钮的方式来实现原始视频的播放,视频信息分析,自定义观测点和车流量计数周期,交通参数的测量,统计结果的存储和重现等功能。其软件各个功能的关系如图1所示。2视频车辆检测器的技术实现要实现上述系统,主要有两方面问题:一是如何构建视频对象,并通过操作视频对象来对视频信息进行提取;二是如何对视频进行操作来实现上述的各个功能。2.1创建视频对象使用创建对象的方式操作视频时,首先要定义视频的类。在视频处理中,通常先提取出一帧一帧的图像,然后对所提取的图像进行处理,再将其保存或者播放至应用程序的控件中[4]。跟据此原理,可定义一个视频的类,类中
6、包含上述过程所涉及的属性和操作方法[5],其代码及注释如下(代码中视频类的名称为cvideo):classcvideo{public:cvideo();//构造函数virtual~cvideo();//析构函数//以下为数据成员cvcapture*pcapture;//opencv用来读取视频的结构体,存储待读取的视频iplimage*pframe;//opencv用来存储图像的结构体,存储当前视频帧的图像iplimage*cframe;//存储当前帧处理后的图像hdchdc1;//定义设备上下文的句柄,用来播放原始视频(可选)cr
7、ectrect1;//定义一个矩形区域,用来设定原始视频的roi区域hdchdc2;//定义设备上下文的句柄,用来播放处理后的视频crectrect2;//定义一个矩形区域,用来设定处理后视频的roi区域cstringm_file;//字符串,存储视频的路径和名称intm_framepos;//当前的播放位置intm_frametotal;//视频的帧总数intm_fps;//存储视频中每秒的帧数,便于进行播放速度的控制/*以下为成员函数(限于篇幅,本文未提供成员函数的所有代码,读者可以根据注释参考opencv文档自行编写)*/vo
8、idplay(intpos);//播放pos位置的帧,将此帧的图像放入pframe中,将pframe显示在hdc1中voidconvertedplay();//直接将当前帧处理后的图像cframe显示在hdc2中voidclosefi
此文档下载收益归作者所有