您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作计划 > 即主界面窗体录像回放窗口
LOGO视频监控系统的设计与实现院系:xxx系专业:xxx指导老师:xxx答辩人:xxxxCompanyLogo论文框架研究背景1开发环境2论文要点3结论4CompanyLogo1.研究背景1)课题研究背景视频监控系统应用领域工地交通银行治安CompanyLogo1.研究背景2)视频监控系统发展概况模拟视频监控系统20世纪90年代前,主要是以模拟设备为主的闭路电视监控系统,称为第一代。数字化本地视频监控系统20世纪90年代中期,随着科技的发展,人们利用计算机的高速数据处理能力进行视频的采集和处理,这种基于PC机的多媒体主控台系统称为第二代数字化本地视频监控系统。远程视频监控系统20世纪90年代末,随着网络带宽、计算机处理能力和存储容量的快速提高,视频监控步入了全数字化的网络时代,称为第三代远程视频监控系统。CompanyLogo1.研究背景3)视频监控的发展趋势未来视频监控系统发展针对方向智能化系统有足够的智能,能识别不同物体,发现监控画面中的异常情况,以最快和最佳的方式发出警报和提供有用信息。平台化独立图像采集点联网,实现跨区域统一监控、存储、管理、资源共享,整合利用视频资源,达到视频资源的最大程度的共享。信息联动视频监控与其他信息系统联动,如水利行业与交通部门联动,共享两个系统中的视频资源,达到迅速、方便、准确的处理事件。CompanyLogo开发环境我的主要工作是在MicrosoftVisualC++6.0开发环境下,利用OpenCV计算机视觉库里所提供的大量对图像和视频处理的函数以及存储函数实现对数字图像及视频的处理,通过VC++中的多线程来实现同时显示多个视频或图像,最后的测试通过交通道路情况和行人的视频进行。所以下面将要先了解一下课题所涉及的一些关键技术,主要有VC++、OpenCV。CompanyLogo开发环境VC++我的设计过程中用到的是MicrosoftVisualC++6.0开发环境,利用VC++来实现Windows界面OpenCVOpenCV,全名为OpenSourceComputerVisionLibrary,是Intel公司资助的开源计算机视觉库。OpenCV采用C/C++语言编写,可以运行在Linux/Windows/Mac等操作系统上。OpenCV还提供了Python、Ruby、MATLAB以及其他语言的接口,提供了针对各种形式的图像和视频源文件的帧提取函数和很多标准的图像处理函数,实现了图像处理和计算机视觉方面的很多通用算法。CompanyLogo论文要点1)系统窗体设计本系统主要窗体分为三个,即主界面窗体、录像回放窗口、抓帧图像查看窗口,用MFC对话框来实现这些窗体的设计。主界面窗体录像回放窗口抓帧图像查看窗口CompanyLogo论文要点2)各窗体功能实现主界面窗体主界面所要实现的主要功能包括:视频的播放、从摄像头读取及保存图像、从视频或摄像头中抓取图像、当前时间的显示以及多个视频同步操作。实现这些功能主要是应用以下技术:1)多线程应用多线程实现对多个视频的同时播放功能,首先定义线程函数和句柄,然后利用句柄创建线程开始执行线程函数。CompanyLogo论文要点2)各窗体功能实现2)OpenCV本系统的主要功能设计都是利用OpenCV来实现的,包括图片的打开及保存、图像的抓取、视频的操作(打开、播放、暂停及停止)、对摄像头的操作(打开和关闭摄像头、录像)。下面介绍在主界面窗体中应用的函数。(1)视频的操作CvCapture*capture;//视频获取结构指针capture=cvCaptureFromAVI(FilePath);//捕获AVI视频函数cvGetCaptureProperty()函数是获取视频的指定属性,例如:cvGetCaptureProperty(m_pcapture,CV_CAP_PROP_FPS);是获取帧率的m_pframe=cvQueryFrame(m_pcapture);//获取一帧m_showimage.CopyOf(m_pframe,1);//复制帧图像m_showimage.DrawToHDC(m_hdc,&m_rect);//显示到控件CompanyLogo论文要点2)各窗体功能实现(2)对摄像头的操作cvCreateCameraCapture(-1)是获取摄像头的函数,-1为默认设备。cvReleaseCapture()是释放捕获摄像头的函数。cvCreateVideoWriter()创建视频写入器函数cvWriteFrame()帧写入视频文件函数cvReleaseVideoWriter()释放视频写入器函数以上是主界面窗体中用到OpenCV中对视频及摄像头操作的函数,至于实现功能则是依靠线程函数中的控制来实现的,比如依靠判断条件循环处理实现视频的连续播放等。CompanyLogo论文要点2)各窗体功能实现下面是主界面窗体的效果图及控件说明视频文件处理的按钮,包括对视频文件的打开、播放、暂停、停止和抓帧操作选择栏,用来选择操作的路数和视频文件或摄像头的操作摄像头操作的按钮,包括对摄像头的打开和关闭、开始录像和停止录像以及抓帧的操作俩个按钮分别连接另外俩个窗口显示当前时间图像控件,用来显示不同路数的图像信息,本系统设置了四路同时显示视频播放CompanyLogo论文要点2)各窗体功能实现录像回放窗口录像回放窗口所要实现的功能包括:对从摄像头中的录像进行检索和回放以及抓帧。实现这些功能主要是通过OpenCV和数据库技术来实现的。在主界面窗体功能实现中介绍了OpenCV对视频的处理实现,所以在此不做介绍,下面介绍数据库的应用。本系统应用ACCESS数据库,用到以下的代码:voidOnInitADoConn();//建立数据库连接voidExitConnect();//退出连接_ConnectionPtrm_pConnection;//连接对象指针_RecordsetPtrm_pRecordset;//记录集对象指针m_pConnection.CreateInstance(“ADODB.Connection”);//创建Connection对象m_pConnection-Open((_bstr_t)str,“”,“”,adModeUnknown);//连接数据库m_pConnection-Execute((_bstr_t)strSql,NULL,adCmdText);//执行SQL语句CompanyLogo论文要点2)各窗体功能实现下面就是为了实现录像回放建立的表表名第一列,用来存储文件名第二列,用来存储文件路径CompanyLogo论文要点2)各窗体功能实现下面是录像回放窗口的效果图及控件说明列表框,显示数据库中的文件名五个按钮分别实现录像的打开、播放、暂停、停止和抓帧功能图像控件,显示录像CompanyLogo论文要点2)各窗体功能实现抓帧图像查看窗口抓帧图像查看窗口实现的主要功能就是对从视频文件或从摄像头抓取的帧图像进行浏览及另存,其中浏览包括了打开抓帧图像和查看当前图像在所在文件夹中的上一张图片和下一张图片。这些功能的实现也是靠OpenCV和数据库技术来实现的,前面也都提过了,下面介绍图片操作的实现函数。cvLoadImage()函数是实现打开对应路径图像的功能;cvSaveImage()就是实现存储的函数;CompanyLogo论文要点2)各窗体功能实现下面就是为了实现浏览抓帧图像建立的表第一列存储图片文件名第三列存储图片顺序编号第二列存储图片文件路径CompanyLogo论文要点2)各窗体功能实现下面是抓帧图像查看窗口的效果图及控件说明图像控件,显示抓帧图像四个按钮分别实现打开图片、浏览上一张、浏览下一张以及另存的功能CompanyLogo结论本课题的设计内容为视频监控系统的设计与实现,主要做了以下几方面工作:利用多线程实现多路视频的同时播放;利用OpenCV类库实现了摄像头或视频以及文件的一些操作,如录像、视频播放、抓帧、图像的打开及保存等;利用数据库实现了录像检索及回放和抓帧图像浏览。通过本课题的设计工作我对视频监控系统进一步的进行了了解,对于视频监控系统的结构体系也有了基本的认识。对于视频监控对社会乃至个人的安全的意义有了深刻的认识和体会,通过阅读相关知识也认识到了当今视频监控的发展状况。而且通过本课题的工作更加熟悉了MicrosoftVisualC++6.0开发环境,同时也初步认识和了解了OpenCV这个计算机视觉类库,并且又加深了对数据库知识的印象。CompanyLogo谢谢!CompanyLogo1.研究背景2)视频监控系统发展概况(1)模拟监控系统图CompanyLogo1.研究背景2)视频监控系统发展概况(2)数字化本地视频监控系统图CompanyLogo1.研究背景2)视频监控系统发展概况(3)远程视频监控系统图
本文标题:即主界面窗体录像回放窗口
链接地址:https://www.777doc.com/doc-3241621 .html