基于MFC的实时视频监控设计研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MFC的实时视频监控设计研究.doc

基于MFC的实时视频监控设计研究 摘 要:随着多媒体技术和网络技术的发展,实时视频监控已经广泛应用。采用Microsoft公司提供的较为成熟的MFC框架编程,提出了视频监控系统的流媒体转发服务器的设计方案,采用C/C++语言实现功能,调用MFC中的函数提取摄像数据,实现监控系统的功能需求,设计了系统总体软件方案,实现一个简单的具有取视频流,用户优先级认证,以及组播传输功能的流媒体转发服务器解决方案。 关键词:流媒体;MFC;视频监控 中图分类号:TB 文献标识码:A 文章编号:1672-3198(2015)14-0225-01 1 流媒体概念 流媒体(Streaming Media)是指视频、语言和数据通过实时传输协议以连续流方式顺序,从源端向目的地传输,目的地只需接收到一定数据缓存后就可以立即播放的多媒体应用。流媒体服务器是流媒体技术的一种实现,其基于流媒体技术应用的系统主要由视频与声音数据信息采集、数据信息的编码/解码、文件服务器、流媒体服务器、视频实时传输网络等多个部分组成。 流媒体基础的数据信息来源于监控现场的实时采集、本地的存储和文件服务器。根据监控系统的应用领域的不同、规模的不同和解决问题的着重点不同,可以归纳有以下几种服务器架构: (1)基于PC的服务器:采用PC机作为服务器,服务于小型用户。此种服务器构架存在一些问题,在网络方面,是网络传输和传输的吞吐率;而软件方面较简单,采用基本的流调度处理和传输质量的保证。 (2)专用硬件平台的服务器:采用专用的硬件服务器,性能优越而且功能强大,面向多用户服务对象。该类服务器对硬件的性能要求高,拥有专业的处理视频的数字视频引擎,是多用户点播服务器的发展趋势。 (3)分布式结构的服务器:流媒体服务器采用分布式的思想将功能分布到网络中对单个服务器的性能要求不是很高,解决了单一服务器设计上的很多瓶颈。 2 系统模型 实时视频监控的转发的主要核心设备流媒体转发服务器,是负责实时视频数据信息编码封装,进而通过实时传输技术发送到用户接收设备;同时,流媒体转发服务器的硬件设备需要专业的处理芯片、存储空间以及足够的网络带宽,通过上述设备来完成视频数据的实时传输。最后就是用户终端,在被许可的情况下,用户可以在本地客户端与远程客户端运行特定的应用程序或者通用浏览器,通过Internet查看监控现场的实时情况及存取在媒体服务器上的音乐、影片等多媒体资源。 系统设计主要应用VC++和OpenCV软件完成,通过设计C++语言程序实现各种功能。控制程序设计部分大体分为视频采集和保存、视频图像处理、运动目标检测、运动目标跟踪。视频采集是使用摄像头调取画面的过程,是整个视觉跟踪系统设计中基础部分。通过cvCaputureFromCAM函数启动网络摄像头,然后抓取第一帧图像显示到窗口中;再经过for循环语句,抓取下一帧图像显示到创建的窗口。抓取前后两帧图像的时间差在20ms左右。这样就可以连续不断地获得视频图像,进而实现视频采集的效果。图像处理在这里分为图像类型转换,图像二值化和滤波。使用背景差分法检测运动物体,所以需要将摄像头采集的彩色图像转换成灰度图像,使用的函数是cvCvtColor(pFrame,pFrImg,CV_BGR2GRAY)。将差分图像二值化的目的是容易在背景图像中提取出前景图像,根据需求分析。 3 MFC结构及设计 3.1 MFC主要构成 MFC是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows的API,Win API与C++的结合。MFC本身不是开发程序的应用语言,是软件编程的规范,允许用户使用C、VC++、Java等编程语言对WinDOS下应用程序的开发,提供应用程序的编程语言接口,使开发出来的各种各样的应用程序能在WinDOS下运行。 MFC是微软对API函数的专用C++封装,遵守WinDOS操作系统的内部实现的机制和功能,采用此种方案开发的应用程序,都能工作在WinDOS的消息机制和绘图里,当用户开发Win应用程序,采用专业C++ SDK开发应用程序变得简单,其主要原因是在Win下用采用C++MFC编制软件,通过MFC是对API的进行封装处理,从而节约和隐藏了大量的编程环节。然而,通过上述的结合对于编程者来说是减少了劳动,减轻了编程的复杂性,但同样也会带来新的问题,这个新的问题就是MFC对类封装中的一定程度的冗余和迂回。 3.2 MFC程序设计流程 程序设计流程中有着四个重要的工具他们分别是: (1)Visual C++整合开发环境(IDE):可以明显地或隐喻地激活其它工具如AppWizard和ClassWizard;可以设定各种工具、编译并联结程序、激活除错器、激活文字编辑器、浏览类别阶层; (2)AppWizard:这是一个程序代

文档评论(0)

guan_son + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档