




已阅读5页,还剩59页未读, 继续免费阅读
(电工理论与新技术专业论文)简易移动式网络监控系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
卜海大学硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e r 、i n t e m e ta n dm u l t i m e d i at e c h n o l o g y , t h e v i d e os u r v e i l l a n ts y s t e mh a se x p e r i e n c e dt h r e es t a g e s ,w h i c hi n c l u d ea n a l o g 、d i g i t a l a n dt h ei n t e m e tv i d e os u r v e i l l a n ts y s t e m i ti sw i d e l yu s e da ta l lk i n d so ff i e l d s ,s u c h a st h ei m p o r t a n td e p a r t m e n t so fc o u n t r ye c o n o m y , a n db a n k s 、c o m m u n i t i e s 、s u b w a y e t c ,w h e r eh a v el a r g eh i d d e nt r o u b l e af a c i l i t i e dr e m o v a b l en e t w o r kv i d e os u r v e i l l a n ts y s t e mi ss t u d i e di nt h i sp a p e r , i t b e l o n g st ot h et h i r ds t a g e i ti ss i m p l et oo p e r a t ea n di t se q u i p m e n t i sc h e a p ,a n dw h a t s m o r e ,t h es y s t e m sf r a m e w o r ki sb r o w s e s e r v e r ( b s ) ,s oi td o e s n ti n s t a l la n ys o f t w a r e a tc l i e n ts i d e i t sf u n c t i o n sm a i n l yi n c l u d e :c a p t u r ei m a g e s 、s a v e 、d i s p l a y 、p l a y b a c k a n ds e r v a lc a m e r a sd i s p l a ya tl o c a lc o m p u t e r , u p l o a dt h e mt of t ps e r v e r p l a y b a c k a n dr e a l l y - t i m ed i s p l a yo nt h ei n t e r a c t t h ec o r eo ft h es y s t e m ,w h i c hu t i l i z e ss u c h t e c h n i q u e s a sm u l t i t h r e a d i n ga n dc i r c l e - q u e u e ,a c h i e v e st oc a p t u r ea n du p l o a d i m a g e s ,a n de n s u r et h a tc a p t u r e di m a g e sa r eu p l o a d e de n t i r e l ya n do n l yo n c e i m a g e s a r er e a l l y t i m es h o w no nt h ei n t e r a c tb yt h ew a yo fp r e l o a d i n g , w h i c hp r e l o a d si m a g e s t ot h eb r o w s eb u f f e rf i r s t l y ,r e a d st h ei m a g ef r o mt h eb u f f e rd i r e c t l ya n dt h i sw a yc a n a v o i dd e l a y i n gb e c a u s ei tn e e d td o w n l o a dt h ei m a g e m u c hp r o g r a m m i n gt e c h n i q u ei s e m p l o y e ds y n t h e t i c a l l y , s u c ha sv i s u a lc + + 、v f w 、a s p 、j a v a s c r i p ta n ds oo n t h i ss u r v e i l l a n t s y s t e mw a sa p p l i e d a tt h e t e a c h i n gf i e l do fm a i n t a i n i n g a u t o m o b i l ei n s h a h 【g h a i a u t o b u si n s t i t u t e ,t h er e s u l ti n d i c a t e st h a tt h es y s t e m s t a b i l i z a t i o ni sw e l la n di tb r i n g sc o n v e n i e n c ef o rt e a c h e r sa n ds t u d e n t s ,a tt h e m e a n t i m e ,t h et e a c h i n gq u a l i t yi si m p r o v e d k e y w o r d s :v f w v i s u a lc + + c i r c l e - q u e u e m u l t i t h r e a d i n g u 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表 或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:豸玺盛日期出盟:! :丝 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即:学校有权保留 论文及送交论文复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容。 ( 保密的论文在解密后应遵守此规定) 签名:黼导师签名:三辱垦查垃日期:一 上海大学硕士学位论文 第一章绪论 本论文主要介绍的是一种简易移动式网络监控系统,该系统分为软件和硬件 二部分,硬件包括电脑、u s b 接e l 的摄像头、无线网卡和无线路由器,软件功 能具有图像的采集、保存及上传到f t p 服务器中、图像的本机显示、回放和多 探头显示及网络上的实时显示和回放等功能。系统的整体框架及软件的实现将在 后几章详细阐述。 1 1 视频监控系统的概述 首先对视频监控系统m2 1 做相关知识的介绍。 视频监控系统是安全防范系统中的主要组成部分,应用到各个场合,如银行、 交通、社区、商场、工厂等,己遍及每个角落。视频监控系统按照所用的设备及 核心技术大致可以分为三个发展阶段: ( 1 ) 模拟视频监控系统,它是在2 0 世纪9 0 年代初之前,是以模拟设备为丰 的闭路系统,称为第一代视频监控系统。 ( 2 ) 数字视频监控系统,核一t 3 部分是数字设备,被称为第二代视频监控系统, 用于2 0 世纪9 0 年代中期,它是依托于计算机处理能力的提高和视频技术的发展, 大大提高了图像采集的质量和视频监控系统功能的进一步完善。 ( 3 ) 网络数字视频监控系统,是第三代视频监控系统。到了2 0 世纪9 0 年代 末特别是近两三年,随着网络带宽、计算机处理能力和存储容量的迅速提高,以 及各种实用视频信息处理技术的出现,视频监控进入了全数字化的网络时代,它 是以刚络技术为支撑点,以数字视频的压缩、传输、存储及播放等技术为核心, 使得视频监控系统有个革命性的发展。 视频监控系统的第二阶段和第三阶段i i _ 以统称为数字视频监控系统。这里用 数字视频监控系统的第一种方式和第二种方式来区分。本文采用的就是第二种方 式的网络数字视频 i ! :i 控系统。 目前国内外的视频监控系统的发展状况是模拟视频监控系统的使用越来越 少,数字视频监控系统已经占据了主导地位,尤其是新安装的监控系统基本上都 j 海大学碗:l 。学位论文 是数字式的,而且有些以前用的是模拟视频监控系统,因一些技术指标不能达到 新的要求,也更换了数字视频监控系统。就技术角度而言,网络数字视频监控系 统是今后监控系统的发展主流。 1 1 1 模拟视频监控系统 当今模拟监控系统的技术已经很成熟,而且应用也非常广泛。典型的模拟视 频监控系统一般由图像摄像部分( 摄像机、镜头、云台、麦克风等) 、图像传输 部分( 一般采用电缆、光缆、射频等) 、系统控制部分( 操作键盘、视频分配器、 视频矩阵切换器、云台控制解码器、字符叠加器等) 和显示记录部分四大部分组 成,系统组成框图如图1 1 所示。 图1 1模拟视频监控系统组成示意图 虽然模拟视频监控系统目前已达到了很高的水平,摄像技术、传输技术、系 统控制技术都得到了长足的进步,但传统的模拟闭路系统具有很多其自身的局限 性,限制其应用的广度和深度,主要表现在以卜几点: f 1 1通常不能使用于大范围的监控,因为有线模拟视频信号的传输距离 不能太长,如果采用同轴电缆为传输媒介,传输距离超过1 0 0 0 米时,视频信号 就容易产生衰耗、畸变、群延,易受到干扰,使得图像质量下降。这些都决定了 模拟视频监控系统不能使用于大区域场所的监控; ( 2 )布线工程量大,系统的扩展能力差,对于已经建好的系统,如要增 , 上海= i = = 学硕十学位论文 加新的监控点,往往是牵一发而动全身,新的设备也很难添加到原有的系统之中; ( 3 )模拟视频监控系统大多采用录像机作为存储工具,磁带作为存储介 质,这种方式不仅记录信息量有限,数据的存储会耗费大量的存储介质( 如录像 带) 。而且磁带易变形,磁头、磁带间磨损大,加上采用模拟信号方式记录读取, 严重失真,播放的音像质量远不能满足现成的要求,查询取证也十分烦琐; ( 4 ) 报警联动性差,冈为在模拟视频监控系统中,各个部分是独立运作, 相互之间的拧制协议很难互通,联动报警只能在很小的范围内进行。 由于模拟视频监控系统有以上的局限性,限制了其应用范围,而逐渐被数字 视频监控系统所取代。 1 1 2 数字视频监控系统 随着数字技术和计算机技术突飞猛进的发展,图像数据压缩编码解码技术 及标准的改进,芯片成本的不断下降及性能的提高,数字视频监控系统也迅速发 展起来,巩固了在监控系统中的主导地位。 数字视频监控系统以计算机为中心,数字视频处理技术为基础,利用图像数 据压缩的国际标准( j p e g 、m p e g 1 或m p e g 4 ) ,综合利用图像传感器、计算 机网络、自动控制和人工智能等技术的一种新型监控系统。数字视频监控系统将 摄像机获取的模拟电视信号转变为数字视频信号以便于计算机处理,或者由数字 摄像机直接输出数字视频信号,在计算机显示器上显示多路活动图像的同时,可 将各路信号分别存储于计算机的硬盘内或在网络上进行传输。在实时情况下,每 路信号在监视、记录、回放时都能达到最大为2 5 f s 的活动图像的效果。 数字视频监控系统除了具有传统的闭路电视监控系统的所有功能外,还具有 远程视频传输、自动异常检测与报警、结构化的视频数据存储等功能,毕竟在数 字图像上进行各种操作要比模拟信息处理要容易得多。与数字视频监控系统相关 的主要技术有视频数据压缩、视频的分析与理解、视频流的传输与质量控制等。 数字视频信号具有频谱效率高、抗干扰能力强、失真少等模拟信号无法比拟 的特点。 数字视频临控系统的实现有二种方式,区别它们在于系统中是否有计算机网 上海大学预二【学位论文 络。目前大部分的数字监控系统还是通过图像采集卡将模拟摄像机传过来的模拟 视频图像转换为数字图像信号,因此图像采集编码卡是基于p c 机的数字视频监 控系统中的关键设备,一块卡往往支持一路到四路视频采集压缩。采集编码卡的 质量和性能的好坏直接影响整个系统的可靠性和稳定性。基于p c 机的数字视频 监控系统采用软件束设计实现摄像机到监视器的视频矩阵切换、录像、云台和镜 头的控制、通过串口连接报警设备的报警信息等。计算机是数字视频监控系统的 核心,配备有大屏幕显示器、大容量硬盘,也可再配上光盘刻录机。图1 2 中数 字视频监控系统的第二种方式。 图1 2数字视频监控系统组成示意图 数字摄像机的出现产生了真正的全数字视频监控系统,数字摄像机直接传输 的是经过压缩编码后的数字视频图像流,通过网络将视频流传输到计算机中。这 种数字摄像机还可以就地输出控制信号来控制云台解码器。这就是图1 2 中的数 字视频监控系统的第二种方式。 就技术角度而言,数字视频监控系统的第二种方式是未来数字视频监控系统 的发展方向。但这两种方式具有各自的应用场合,如果已经具备远程传输和计算 机网络,那么上述的第二种方式分采用就有着剧武之地,性价比高;如果尚未安 装计算机网络,选择第一种方式比较好。因而要根据现场实际情况来设计合理的 方案。 l 海大学硕i :学位论文 1 1 - 3 模拟视频监控系统与视频监控系统比较 数字视频监控系统与模拟视频监控系统在性能等各方面的比较参见表1 1 表1 1 数字视频监控系统与模拟视频监控系统比较 模拟视频监控系统数字视频监控系统 由摄像机、视频分配器、画面分割器、矩阵切用计算机完成全部采集、存 换器、视频转换器、监视器、录像机、远程调储、控制和传输功能,设备简 系统配置制等组成。配置繁琐,连接复杂,可靠性低 洁,只需在计算机上安装软、 硬件系统,再连好摄像机即 可,可靠性高 存储介质 定时更换录像带,录像带使用及耗费巨大,成大容量硬桶:存储,成本低,可 本高,保存时间短,携带麻烦用光盘刻录方式做成光盘永 久保存 录像质量扫描线分辨率低于3 0 0 线采用j p e g 、m p e g 压缩编码, 显示器高清晰显示 多画面显示需用专门设备,如多画面分割器计算机显示器可以多画面显 和切换示 录制内容安不能加密,录像内容一般人员即町擦除可以加密,录像数据般人员 全措施不能修改 访问纪录没有任何日志自动记录所有访问系统的人、 时间及报警事件 管理 需多人值守可无人值守 远程传输传输距离有限可以通过电话线或互联网、局 域网进行远程图像传输,从而 可以进行远程监控 系统升级要更换重要的大型设备只需更换软件或小部分硬件 1 1 4 视频监控系统的发展趋势 视频数字化,盟控网络化,系统集成化是数字视频监控系统的三大发展趋 势,而数字化是网络化的基础,网络化又是系统集成化的基础。 ( 1 1视频数字化 数字化是2 1 世纪的重要特征,是以信息技术为核心的电子技术发展的必然, 数字化是迈向成长的通行证,随着时代的发展,我们的生存环境将变得越来越数 字化。 视频监控系统的数字化首先应该是系统中信息流( 包括视频、音频、控制 上海人学硕士学位论义 等) 从模拟状态转为数字状态,这将彻底打破经典闭路电视系统是以摄像机成像 技术为中心的结构,根本上改变视频监控系统从信息采集、数据处理、传输、系 统控制等的方式和结构形式。信息流的数字化、编码压缩、开放式的协议,使视 频监控系统与安防系统中其它各子系统间实现无缝连接,并在统一的操作平台上 实现管理和控制,这也是系统集成化的含义。 ( 2 )监控网络化 视频监控系统的网络化将意味着系统的结构将由集总式向集散式系统过渡。 集散式系统采用多层分级的结构形式,具有微内核技术的实时多任务、多用户、 分布式操作系统以实现抢先任务调度算法的快速响应。组成集散式监控系统的硬 件和软件采用标准化、模块化和系列化的设计,系统设备的配置具有通用性强、 丌放性好、系统组态灵活、控制功能完善、数据处理方便、人机界面友好以及系 统安装、调试和维修简单化,容错可靠等优点。 ( 3 1系统集成化 系统网络化将使整个网络系统硬件和软件资源的共享以及任务和负载的共 享,打破了布控区域和设备扩展的地域和数量界限,使得系统集成化。 1 2 课题意义与应用背景 随着计算机和因特网的迅速发展,无线网络监控系统也是日新月异。近两年, 诺基弧、 n t e l 、l 哪相继推出各具特色的无线局域网的解决方案和产品服务, 。j 网内电信运营尚携手推进w 【。a n 在田内市场的应用。国内厂商也纷纷卅:始看好 w i a n 市场,华为、中兴、大唐等设备厂商都 发了自己的网络产品供用户选择, 从网络系统的解决方案到无线客户机适配器、内霄的无线嗣卡等都有。应用的领 域已经深入各个行业。如下表1 2 所示: 表1 2 无线视频监控的应用领域 应用范围作用 电力系统的无线监控系统无人值守变电站、电厂视频监控 水利系统的无线视频监控河流、船闸视频监控 l 海_ 人学硕士学位论文 铁路运输系统无线视频监控车站、铁路道口视频监控 工厂监控 工厂、车间视频监控 仓库监控港口、码头、仓库设施视频监控 交通系统无线视频监控 道路车流量视频监控 无人值守机房临控电力、电信无人值守机房视频监控 社区保安监控住宅楼、停车场安全防范视频监控 医院监控医院视频监控 公安监控城市路口、公共场所、山林交通治安消 防视频监控 军事设施监控军事基地、边境、哨卡远程视频监控 由于无线网络监控系统的设备简单、施工时问短、没有布线问题及不受环境 的约束等优势,它的应用范围越来越广了。用于实时监控的范围更加广阔,由传 统的安防监控向管理监控和生产经营监控的发展,到达了点多面广的监控。而且 能够对大量的视频数据的压缩存储、传输和自动处理,到达了资源芡享。另外无 线网络监控系统具有很强的灵活性和可扩展性,随时都可以添加或除去监控点, 充分利用了有限的资源。在一些特定的环境下,无线监控系统应为首选,如对临 时的珠宝、文物展览会上的监控,不可能为了一次展览会,而对其布线进行有线 监控,这样资源浪费比较严重,也是没有这个必要的,用无线视频监控系统可能 要不到一天的时间就能够实现了。对一些危险及人员不容易到达地带进行实时监 控,及时发现问题并解决,可以避免一些重大事故的发生,也可为事故的调奄提 供第一手的资料。 本课题完成的无线网络监控系统已经应用于上海大学巴士学院的汽车修理 课程的现场教学中。解决了以前在讲解汽车结构及各种器件作用时,师生要爬上 爬下,钻进钻出的尴尬局面。而使用本系统后,老师只需把摄像头对准要讲解的 部位,就会通过无线网络把采集到的图像直接显示在电脑上或投影到大屏幕上, 老师对着大屏幕讲课,学生坐在座位上听课,大大减轻了老师和学生的负担并提 高了教学质量。同时在网络上其他任何能够访问到服务器的电脑均可看到现场画 面,还可以回放以前某个时段的图像记录,实现了网络教学的第一步。 上海大学碘1 j 学位论文 1 3 课题主要内容 本论文研究的是一种简易的移动式网络监控系统,直接从摄像头中通过软件 来实现图像的采集、显示、网络传输并保存到指定的f t p 服务器上,以供网络 用户浏览。本系统属于数字视频监控系统的第二种方式,即网络数字视频监控系 统。 系统使用v i s u a lc + + 中的视频开发包v f w ( v i d e of o r w i n d o w s l ,编程实现了 从u s b 接口的摄像头中得到当前图像信息,将其以图片文件格式保存在本机并 显示,由于得到的是b m p ( b i t m a p ) 格式的图片,不适宜用于网络e 传输,调用一 个图片格式转换的动态链接库,将其转换成文件比较小的j p e g 的图片格式。 j p e g 是j o i n tp h o t o g r a p h i ce x p e r t sg r o u p ( 联合图像专家组) 的缩写,文件后辍名 为“j p g ”或“j p e g ”,j p e g 格式是现在使用最为广泛的格式之一,也是网络中图 像传输时使用的主要文件格式之一。使用a s p 、j a v a s c r i p t 及图片显示控什编程 来实现在网络上实时显示采集到图像。在本机和网络上都有回放功能,即可以回 放以前某个时间段监控到的图像。论文主要内容如下: 第章是绪论,主要叙述了视频监控系统的发展,介绍了模拟、数字视频监 控系统基本概况和发展趋势,以及本文研制的监控系统的应用背景和实现的功 能。 第二章介绍了本课题需要用到的一些理论知识,视频采集相关知识:v f w 技 术、a v i c a p 窗口类的使用及视频捕获方法:多线程的概念、创建工作者线程及 线程间的通讯与同步;数据结构中的循环队列概念、u s b 接口等相关知识。 第三章是本文的重点,主要是用第二章知识来设计、实现无线监控系统。浚 系统的主要功能是实现图像的采集与传输、多探头显示、单机和网络上的显示和 吲放及系统整体框架的组建及各个部分的作用。 第四章介绍了本无线网络的监控系统在上海大学巴士学院的汽车修理现场 中的应用。 第五章是总结了本文所做的工作和取得的成果,提出了需要改进的部分。 上海大学预十学位论文 第二章系统软件实现的理论基础 本文以简易移动式视频监控系统的实现为主线,综合使用v f w 、多线程、 循环队列、u s b 接口及无线局域网等知识,逐点加以介绍。 2 1 视频采集功能 随着通信技术、多媒体与计算机技术的快速发展,越来越多的应用系统不仅 要求传输与处理已经保存下来的视频数据,更重要的是能够实时获得视频数据, 并对这些数据进行实时处理,如视频会议、可视电话及实时监控系统等。而视频 采集功能就是为了实现从视频源获取视频数据,可以是实时获取,也可以只获取 当前帧数摒。视频采集是整个系统的6 u 提,提供要传输、显示及处理的视频数据。 目前,在w i n d o w s 平台下开发视频应用程序一般有二种方式:一种是基于 视频采集卡白带的二次开发包s d k ( s o f t w a r ed e v e l o p m e n tk i t ) 进行的,这种方式 的优点在于应用方便,容易掌握,但对硬件的依赖性强,灵活性差,各个厂家的 视频采集卡所带的开发包不尽相同,不能充分满足不同视频应用程序的丌发需 要。第二种方式是基于微软公司开发的视频开发包v f 、,它对程序员编写视频开 发程序时,无需对硬件知识的了解,应用灵活,可以满足不同视频程序的丌发。 本论文中的视频监控系统的视频源是由u s b 摄像头直接获得。由于u s b 摄 像头价格低、功耗小及安装方便等优点,目前已经得到了广泛的应用,且成为简 易视频采集设备中的主流。本系统的视频开发方式选用的是第z q , 。 2 1 1 v f w 概述 v f w t ”1 是m i c r o s o f i 公司在1 9 9 2 年推出的一个数字视频软件丌发包,它提 供了一系列的应用程序编程接口( a p i ,a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) ,使用这 些a p i 就能够很方便的实现视频捕获、视频编辑及视频播放等功能,还可以利 用回调函数5 1 丌发更复杂的视频应用程序。它的优点在于播放时不需要任何的硬 件支持,对于程序员来说,编程时也不必了解相应的硬件知识,而且当用户安装 9 卜海大学硕上学位论文 了w i n d o w s 操作系统时,安装程序会自动安装配置视频所需要的组件,如设备 驱动程序、视频压缩程序等,v c + + 4 0 及以上都支持v f w ,这些使得视频开发 变的简便。 v f w 包括多个动态连接库”,通过调用这些连接库,可以完成视频的采集、 视频压缩及播放等功能,v f w 库主要由以下6 部分组成。 ( 1 ) a v i c a p d l l :w i n d o w sa p i 应用程序接口,用于截取a v i 视频和摄像头 及其它视频硬件设备的视频。为a v i 文件和i o 和视频、音频设备驱动程序提供 高级接口。 ( 2 ) m s v i d e o d l l :包含一套d r a w d i b 函数,可以用来处理屏幕上的视频 操作,能够把视频采集窗1 :3 与设备驱动联系起来,支持压缩管理器( i c m ) 视频 编码服务。 ( 3 ) m c i a v i d r v :是驱动程序,包括对v f w 的媒体控制接口( m c i ,m e d i a c o n t r o li n t e r f a c e ) 的命令解释器驱动程序。 ( 4 ) a v i f l l e d l l :包含由标准多媒体i o ( m m i o ) n i 数提供的低层命令,对 a v i 文件的读写操作等文件管理功能。 ( 5 ) 压缩管理器( i c m ,l n s t a l l a b l ec o m p r e s s i o nm a n a g e r ) :用于管理视频图像 数据的视频压缩和解压缩的编解码器,把不同的压缩、解压缩编码驱动程序和数 字视频应用程序联系起来,所有的待压缩和解压缩的数字视频数据都在安装的压 缩管理器和压缩、解压缩编码驱动程序之间传送。 ( 6 ) 音频压缩管理器( a c m ,a u d i oc o m p r e s s i o nm a n a g e r ) :用来管理音频压缩 和解压缩的编码器,功能和i c m 相似,但它适于波形音频。 v f w 提供两大窗口类:a v i c a p 类和m c i w n d 类,它们是来完成低层操作, 如a v i c a p 类是来实现视频捕获的底层操作,下一节将详细介绍。而m c i w n d 类是实现回放功能的,编程支持波形音频、乐器数字化接口( m 1 d i :m u s i c a l i n s t r u m e n td i g i t a li n t e r f a c e ) 、c d 音频和数字视频a v i 的操作。可以来控制m c i 设备和文件的操作,在使用时,可以显示需要的控制界面,如窗l j 工具条、菜单 等。用户可以根据界面实现对m c i 的操作,例如播放、停止、定位、同放等。 也可以隐藏界面,只使用其相关的操作控制。v f w 整个的体系结构【7 1 如图2 1 所示。 上海大学硕士学位论文 c a p t u r ea p p l i c a t i o n p l a y b a c ka p p l i c a t i o n a v i c a p d l l a v i c a p e d i t i n ga p p l i c a t i o n m c i a v id r v c a p t u r ea p p l i c a t i o n i 淼l l i c m 2 1 2a v i c a p 窗口类 a v i f i l e d l l f i l e s t r e a mh a n d l e 图2 1v f w 整体结果图 m s v i d e q d l l m c i w n d a c m m s v l d e o d l l d r a w d i b li c m a v i c a p 窗1 5 1 类嘲是v f w 提供的两大窗口类之一,用于实现视频捕获的底 层操作,为应用程序提供了一个简单的基于消息的接口,通过使用该接口使之能 实现视频和波形音频硬件的访问,能将视频流捕获到硬盘中加以保存。支持实时 的视频流获取和单帧捕获,且通过对视频源的控制,可以方便地将视频捕获与应 用程序相结合。 用a v i c a p 窗口类创建一个视频窗口后,利用其视频窗口的句柄,就可以实 现以下功能 9 】: ( 1 ) 能够捕获音频和视频流,且可以同步的保存于一个a v i 文件中; ( 2 ) 动态的连接和断开视频和音频的输入设备; ( 3 ) 可以选用叠d h ( o v e r l a y ) 或预览( p r e v i e w ) 方法对输入视频数据进行实时显 示,其中在叠加模式中,视频显示是由硬件实现的,即把v g a 的输出信号与自 身的输出信号叠加,形成组合信号并在监控器上显示,这个显示模式不占用c p u 资源;而预览模式是把采集到的数据写入内存中,再调用g d i 函数在视频窗口 中显示,要占用一定的c p u 资源; 海大学硕士学位论文 f 4 1 设置视频采集的速率; ( 5 ) 使用a v l c a p 类中函数可以调用对话框来选择视频源、视频格式、视频 压缩方式等; ( 6 ) 创建、保存、装载及视频图像相关联的调色板; ( 7 ) 可以把当前帧图像或调色板复制到剪贴板上; ( 8 ) 可以捕获图像保存为设备无关文件( d i b ) a ( 9 ) 更改捕获数据的文件名,并把内容拷贝到该文件中。 另外a v i c a p 窗口类还提供了回调函数,类似与中断函数,回调函数具体实 现的功能由用户设定,可以对采集到的图像数据进行实时处理,当满足一定条件 时,系统会自己自动调用回调函数。常用的有状态回调函数、单帧回调函数、报 错回调函数等。以单帧函数回调函数为例,设定回调函数的格式为 c a p s e t c a l l b a c k o n f r a m e ( 硼一h c a p w n d ,f p p r o c ) 。只要一启动视频捕获,一帧结束 后立即产生回调,而参数f p p r o c 决定了哪一个回调函数响应。例如f p p r o c 参数 为f r a m e e a ll b a c k f u n ,则对应的回调函数为f r a m e c a ll b a c k f u n ( h w n d m h c a p w n d ,l p v l d e 0 1 d ri p v d a t a ) ;l p v i d e o i i d r 是数据帧结构体,包括首地址 p d a t a 和长度d w b u f f e r l e n g t h ,将一帧一帧的数据保存在同一个缓冲区中,不 断刷新,对单帧数据进行操作。以上是a v i c a p 窗口类具有的主要功能,是实现 视频采集的关键。 2 1 3 视频捕获方法 a v i c a p 窗 j 类提供的函数支持实时捕获视频数据和捕获当前单帧图像,直 接访问视频缓冲区,不生成中间文件,实时性和效率都比较高。创建一个捕获窗 r 是所有其他操作的前提和基础。视频捕获的基本流程如图2 - 2 所示: l 海大学坝,卜学位论文 创建捕获窗口 注册回调函数 设置捕获窗口初始 连接视频采集设备 获取采集设备的有关信息 创建捕获窗口 捕获图像及处理 终l 卜捕获及断开采集设备 图2 2 视频捕获基本流程图 实现视频捕获也可以是只用以上基本步骤中的几步,相关程序将根据第三章 中的视频采集部分详细分析。 2 2v i s u a lc + + 中的多线程 2 2 1 多线程的介绍 对于单个c p u 的计算机来说,多个线程的执行其实不是真正的同时执行, 而是每个线程分配一段时间片,轮流运行的,由于时间片很短,就使得看上去多 个线程是同时执行的。多线程的使用,并不能使原来繁重的任务变得轻松,而且 使得编程变得更加复杂,但当处理某些耗时的操作时,多线程1 0 1 的优势就展现 出来,例如可以用多线程来轮询串l _ _ i 的读写等,而让主线程有更多的时间去处理 其它事务。 在v i s u a lc + + 的m f c ( m i c r o s o f lf o u n d a t i o nc l a s s ) d ? ,线程有二种:用户界面 线程( u it h r e a d s ) 9 3 _ - 作者线程( w o 出e tt h r e a d s ) t q ,两者的区别在于u i 线程可以 创建窗口并发送窗口消息,工作者线程是完成后台处理任务的,不接收用户的直 接输入。本论文中视频采集及图像传输都是使用工作者线程完成的,主线程就只 是来实现显示功能。 在v c 中创建线程有二种方法,一是用函数a f x b e g i n t h r e a d ,二是用函数 i :海大学硕士学位论文 c r e a t e t h r e a d 来创建。调用a f x b e g i n t h r e a d 成功创建线程后,返回一个 c w i n t h r e a d 指针,其原型如下: c wjn t h r e a d * a f x b e g in t h r e a d ( a f x t h r e a d p r o ct h r e a d p r o c ,线程函数地址 l p y o i d p p a r a m ,传送给控制函数的参数 i n tn p r i o r i t y = t h r e a d p r i o r i t y n o r m a l ,线程的优先级 u i n t n s t a c k s i z e = o ,当前线程栈的大小 d w o r d d w c r e a t e f l a g = o ,当前线程的创建状态 l p s e c u r i t y a t t r i b u t e s1 p s e c u r i t y a t t r s = n u l l ) ;当前线程的安全属性 各个参数的意义见每行后面的注释。用a f x b e g i n t h r e a d 刨建线程时,它的 线程函数的原型必须是u i n tt h e a d f u n c ( l p v 0 1 dp p a r a m ) ,其中t h r e a d f u n c 是 线程函数地址;p p a r a m 是任意的3 2 位值,由a f x b e g i n t h r e a d 函数中的第二个 参数来传递;线程结束时,返回一个u i n t 类型的值。 而使用c r e a t e t h r e a d 函数成功创建一个线程后,返回的是一个线程句柄, 否则返回的值为空。其原型如下: h a n d l ec r e a t e t h r e a d ( l p s e c u r i t y a t t r i b u t e s1 p t h r e a d a t t r i b u t e s , d w o r dd w s t a c k s iz e l p t h r e a ds t a r t _ r o u t i n el p s t a r t a d d r e s s , l p v o i dl p p a r a m e t e r , d w o r dd w c r e a t i o n f l a g s , l p d w o r dl p t h r e a d l d ) ; 其中: l p7 f h r e a d a t t r i b u t e s 表示创建线程的安全属性: d w s t a c k s i z e 指定线程栈的大小; i p s t a c t a d d r e s s 指定线程开始运行的地址。 l p p a r a m e t e r 表示传递给线程的3 2 位的参数。 d w c r e a t e f l a g e s 表示是否创建后挂起线程; 4 i :海大学硕j 二学位论文 l p t h r e a d i d 用来表示返回的线程i d 。 但在m f c 中,创建线程不能用c r e a t e t h r e a d ,而使用a f x b e g i n t h r e a d ,其 不仅封装了c r e a t e t h r e a d 函数,它便于启动线程外,还初始化状态信息,在线程 创建过程中的执行安全性检查并采用一定的方法来确保以线程安全的方式访问 c 运行库中的函数。 2 2 2 线程问的通讯 在多线程编程时,线程间的通讯【”“3 1 4 1 极为重要,如在主线程中来终止一 个子线程或在予线程处理后的数据要到主线程中显示及子线程之间的数据交换 等。m f c 支持三种通讯方式:使用全局变量;使用事件对象;使用用户定义消 息。 ( 1 )使用全局变量通讯 主线程和子线程都能够直接访问全局变量,在主线程中修改该全局变量时, 子线程中使用该变量值时也就发生了变化。这种通讯方式简单,但可靠性、安全 性差。 ( 2 ) 使用用户自定义消息通讯 与使用全局变量通讯相比,使用用户自定义消息通讯更加可靠、灵活。只需 定义用户消息,就可以在予线程中发送消息给主线程来实现线程间的通讯。使用 用户自定义消息进行线程问的通讯的一般步骤如下: 定义一个用户消息 每个用户消息都有个消息标识,是个无符号的整型。一般用c o n s t w mu s e r m s g = w mu s e r + o f f s e t 来定义,其中w mu s e r m s g 是定义的 用户消息标识;w mu s e r 是系统已经定义好的常量,值为0 x 4 0 0 ;o f f s e t 是 自己选的一个偏移量值。 定义消息函数 增加消息映射宏和消息映射函数,必须在b e g i nm e s s a g e 和 e n dm e s s a g e 中添加消息宏,如: 上海人学硕j :学位论文 o n m e s s a g e ( w m _ u s e r m s g ,m s g f u n ) ,m s 庐u n 是消息响应函数,它应该 在a f xm s g 后面定义,形式为: a f x _ m s gv o i dm s g f u n ( w p a r a mw p a r a m ,l p a r a ml p a r a m ) ,w p a r a m 和 l p a r a m 均为消息参数。 触发消息函数 在子线程中触发消息函数,可以用s e n d m e s s a g e 和p o s t m e s s a g e 函数来实现, 两者之问的区别在于是否等待其他程序消息处理。p o s t r e s s a g e 只是把消息放八 队列,不管其他程序是否处理都返回,然后继续执行:而s e n d m e s s a g e 必须等待 其他程序处理消息后才返回,继续执行。这两个函数的返回值也不同, p o s t m e s s a g e 的返回值表示p o s t m e s s a g e 函数执行是否正确,而s e n d m e s s a g e 的 返回值表示其他程序处理消息后的返回值。 ( 3 ) 使用事件对象通讯 使用事件对象来进行线程间的通讯是常用的方法。在m f c 中,先用c e v e n t 类定义一个事件对象,每个事件对象有两种状态:有信号( s i g n a l e d ) 和无信号状 态( n o n s i g n a l e d ) 。由函数s e t e v e n t 0 和r e s e t e v e n t 0 来设定事件对象是有信号 还是无信号状态,线程可以通过检测事件对象的状态,来执行相应的操作。当事 件对象为无信号状态时,调用w a i t f o r s i n g l e o b j e c t ( ) 函数,使得该线程挂起, 直到该事件对象状态变为有信号的时候,该线程将被再次启动,线程挂起不会占 用c p u 内存。w a i t f o r s i n g l e o b j e c t ( ) 函数的原型为: d w o r dw a i t f o r s i n 9 1 e o b j e cl ( h a n d i 。f h h a n d l e ,d w o r dd w m i l li s e c o n d s ) ; h h a n d l e :检测的事件对象的旬柄;d w m i l l i s e c o n d s :线程等待的时间,以毫秒为 单位,如果为零,该函数立即返回,如果是i n f i n i t e ,则直到事件对象变为有 信号状态的时候返回。 2 2 3 线程同步 线程同时执行,如果对同个内存或变量进行访问时,就有可能发生数据冲 突问题,即一个线程在读该数据,而另一个在重新写入该数据,读到的数据有时 就不是我们所期望的数据了,线程同步的作用是可以避免些意想不到的错误。 线程同步的方法有使用临界区、使用互斥信号灯和使用信号灯对象。 上海大学硕一卜学位论文 ( 1 ) 使用临界区实现线程同步 使用临界区的方法很方便,在同一时刻只有一个线程读写某一数据,一旦一 个线程进入了临界区,其他线程将被拒绝访问该临界区,直到进入的线程离开临 界区。 在m f c 中,用c c f i t i c a l s e c t i o n 类创建来创建临界区对象,对象成员函数有 l o c k ( ) 和u n l o c k ( ) ,把保护的代码放在l o c k o 和u n l o c k ( ) 之间,l o c k ( ) n i 数把操 作权交给调用它的线程,u n l o c k ( ) j 委数释放该线程对临界区的控制权,使得其它 线程可以访问临界区。 ( 2 1 使用互斥信号灯实现线程同步 互斥信号灯类似于临界区,但区别在于互斥信号灯不仅允许同一个程序的不 同线程的安全共享资源,而且允许不同应用程序的线程来安全共享资源。一个互 斥信号灯只能被一个线程拥有,其他如何要求互斥标志的线程都将锁住,直到互 斥标志被释放。由c m u t e x 类创建各瓦斥对象,再调用类c s i n g l e l o c k 的成员函 数l o c k o hu n l o c k ( ) 来锁定和解锁互斥对象,使线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 集安市2025-2026学年九年级下学期语文月考测试试卷
- 高速铁路行车安全课件
- 高速铁路工务安全课件
- 电脑知识培训技术课程课件
- 建设工程涉及土地利用总体规划修改服务合同
- 电脑打开课件显示问题
- qe考试题及答案
- 电磁学知识培训心得总结
- 电焊知识点培训总结课件
- 电焊班基础知识培训课件
- 2024年陕西事业单位联考A类综合应用能力试题及答案
- 河北省大厂回族自治县2025年上半年事业单位公开招聘教师岗试题含答案分析
- 公共基础知识试题(附答案)
- 人教版物理九年级全一册16.1《电压》听评课记录
- 2025年湖北省中考语文真题(含答案)
- (2025年标准)被迫堕胎补偿协议书
- 2025年四川三支一扶考试公共基础知识试卷
- 咸阳赤壁市事业单位招聘笔试真题2024
- 战术基础动作低姿匍匐
- 2025年公文核改竞赛试题及答案
- 2025年秋季学期开学第一次中层班子会上校长精彩讲话:向小处看往实里干朝远处谋
评论
0/150
提交评论