《基于DIRECTSHOW和数字减影技术的视频监控系统.pdf》由会员分享,可在线阅读,更多相关《基于DIRECTSHOW和数字减影技术的视频监控系统.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机系统应用2 0 0 9 年第2 期基于Dir ec tsho w 与数字减影技术的视频监控系统V i d e oM o n i t o r i n gS y s t e mo nD i r e c t s h o wa n dD i g i t a lS u b t r a c t i o nA n gi o gr a p h y周永刚张有忱(北京化工大学机电学院北京10 0 0 2 9)摘要:随着计算机技术的进步,视频监控技术已经在计算机领域得到了发展,但是目前市场上的视频监控设备都比较昂贵,因此不能普遍的应用。本文介绍就是一种性价比很高的监控系统,系统利用常见的U S B摄像头为视频
2、捕捉设备,通过D i r e c t s h o w 技术实现计算机对摄像头的控制;通过数字减影技术实现对摄像头捕获到图像的处理。该系统可以有效地监测到监控区域物体位置的变化。从而达到监控报警的目的,而且成本低,使用方便可以被广泛的应用到各个领域。关键词:D i r e c t s h o w 数字减影视频监控V CU S b 摄像头1引言视频监控技术是为了满足银行、交通、化工厂等要害部门和社会领域的安防需要而发展起来的一门独立的技术。早期的监控主要基于本地模拟图像,主要由摄像机、视频矩阵、监视器、录像机组成,通过视频线、控制电缆连接,但只能实现监视的效果,不能自动报警。随着计算机多媒体技术与
3、数字图像处理技术的发展,现在的监控系统已经可以实现实时视频监控并自动报警。本文利用V C+编程,结合D i r e c t s h o w 与数字减影技术来实现视频监控报警系统。2 实现原理本文介绍的监控软件,通过D i r e c t s h o w 实现对U S B 摄像头视频的捕获:利用数字减影技术实现对图像的处理完成图像对比的功能。2 1D i r e c t s h o w 工作原理D i r e c t s h o w 是微软公司提供的一套在W i n d o w s 平台上进行媒体流处理的多媒体开发包,与D i r e c t X 开发包一起发布。是微软公司推出的新一代基于C O
4、 M 组件对象模型的系统。由许多模块化的软件收稿时间:2 0 0 8 0 8 2 19 2 实用案例A p p l i c a t i o nC a s e组件组成。D i r e c t s h o w 采用多线程多任务的方式,因此我们利用D i r e c t s h o w 支持多线程的特性,用一个线程实现数据的采集与回放,另一个线程进行图像处理,从而达到视频监控的目的。在D i r e c t s h o w 中最基本的概念是过滤器(F li t e r)。一个过滤器就是一个C O M 对象,也是一个具有特定功能的模块,它能够对数据流进行操作,如读取、拷贝和写入文件等。D i r e
5、c t s h o w 提供了许多过滤器,大多数过滤器按照功能可以分成三类:源过滤器(S o u r c eF i l t e r)、转换过滤器(T r a n s f o r mF l i t e r)和渲染过滤器(R e n d e r i n gF i l t e ro 每个过滤器都有引脚(P i n),相当于输入、输出插头,F i l t e r 与F i l t e r通过P i n 连接构成F i l t e rG r a p h 然后与外接设备连接组成一个完整的系统图1D i r e c t s h o w 体系结构图万方数据2 0 0 9 年第2 期计算机系统应用2 1 1 实
6、现U S B 摄像头视频的捕获图2 是程序中F i l t e r 在G r a p h E d i t 中的调试链路,其中“U S BP CC a m e r a-16 8”是一个视频捕捉F i l t e r,图中我们也可以看出这是一个带有U S B 接口的数码摄像头,负责采集图像并向下一级F i l t e r 传送数据;“V i d e oR e n d e r”用来接受上一级传送的数据并以视频方式显示出来。要想在程序中使用它们就要创建F i l t e rG r a p h(过滤器图表),把F i l t e r 有机的连接在一起发挥作用。具体步骤如下:在D S C o n t r
7、o l 类中创建几个接口全局变量I G r a p h B u i l d e r m p G B;F i l t e rG r a p hI C a p t u r e G r a p h B u I d e r 2 m p B u i l d e r;视频采集过滤器I B a s e F i l t e r m p F C a p t u r e;摄像头的F i l t e r图2F i l t e r 在G r a p h E d i t 中的调试链路为了简化F i l t e rG r a p h 的构建,D i r e c t S h o w提供了辅助构建组件,其中C L S I D
8、 C a p t u r e G r a p h Bu I d e r 2组件(提供了I C a p t u r e G r a p h B u-I d e r 2 接口)可以进行视频的采集。可以通过这个接口方便地创建视频采集过滤器图表,然后再将它添加到I G r a p h B u i l d e r 图表管理器中(如图3)。F I i t e r G r a p hM a n a g e rlc a p t B u。r。e,a G。,r a p h8 u I l d e r 2图3 添力口I C a p t u r e G r a p h B u I d e r 2代码如下:创建F i l
9、 t e rG r a p hh r=C o C r e a t e l n s t a n c e(C L S I D F i l t e r G r a p h,N U L L。C L S C T x l N P R O C,l i D I G r a p h B u i l d e r。(v o i d+)m p G B);i f(F A I L E D(h r)r e t u r nh r;创建视频捕捉所需的C a p t u r e G r a p h B u i I d e rh r=C o C r e a t e l n s t a n c e(C L S I D C a p t
10、 u r e G r a p h B u 1 de r 2,N U L L,C L S C T x I N P R O C,l i D I C a p t u r e G r a p h B u i I d er 2,(v o i d)&m p B u i l d e r);i f(F A l L E D(h r)r e t u r nh r;m p B u i l d e r-S e t F i l t e r g r a p h(m p G B);设置G r a p h通过渡备枚举方式获得设备友好名称(F r i e n d l y N a m e)从而创建V i d e oC a p t
11、 u r eF i l t e r(图2“U S BP CC a m e r a-16 8”),并把它加入到F i l t e rG r a p h 中。在构造V i d e oC a p t u r eF i l t e r 前,我们必须列举出系统的所有采集设备,根据枚举找到出来的结果,把V i d e oC a p t u r eF i l t e r 加入F i l t e rG r a p h 中去。步骤如下:使用C o C r e a t e|n s t a n c e 函数创建一个系统枚举组建对象,并获得I C r e a t e D e v E n u m 接口。代码如下:I C
12、 r e a t e D e v E n u m p C r e a t e D e v E n u m:H R E S U L Th r=C o C r e a t e l n s t a n c e(C L S I D S y s t e mD e v i c e E n u m,N U L L,C L S C T x I N P R O C S E R V E R,l i D I C r e a t e D e v E n u m,(v o i d”)&p C r e a t e D e v E n u m);使用接口方法I C r e a t e D e v E n u m:C r e
13、 a t e C l a s s E n u m e r a t o r 为指定的类型目录创建一个枚举器并获得I E n u m M o n i k e r 接口。代码如下:h r=p C r e a t e D e v E n u m-C r e a t e C l a s s E n u m e r a t o r(C L s I D V i d e o l n p u t D e v i c e C a t e g o r y,&p E m,0):C C o m P t r p E m;使用接口方法I E n u m M o n i k e r:N e x t 枚举指定类型目录下所有的设
14、备标识。代码如下:A p p l i c a t i o nC a s e 实用案例9 3万方数据计算机系统应用2 0 0 9 年第2 期w h i l e(h r=p E m-N e x t(1,&p M,&c F e t c h e d)。h r=S O K)具体代码省略调用I M o n i k e r:B i n d T o O b j e c t 将设备标识绑定成一个D i r e c t s h o wF i l t e r,随后调用I F i i t e r G r a p h:A d d F i l t e r 加入到F i l t e r G r a p h 中就可以完成设备
15、的枚举工作。代码如下:p M 一 B i n d T o O b j e c t(0,0,l i D I B a s e F i l t e r,(v o i d)p F i l t e r);h r=m p G B-A d d F i l t e r(m p B F。L C a p t u r eF i l t e r 。):2 2 数字图像处理数字图像处理(D i g i t a lI m a g eP r o c e s s i n g)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像处理是一门交叉学科,它涉及到数学、光学、信息科学、工程技术、
16、计算机技术等众多学科。因此图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。图像处理包括图像基本运算、图像变换、图像增强、图像复原等技术。本文介绍的是图像处理中基本运算中点运算的减法运算。图像相减常用于检测变化及运动的物体,图像相减运算又称为图像差分运算。差分方法可以分为可控制环境下的简单差分法和基于背景模型的差分法。我们使用的基于背景模型的差分法即减影技术。减影技术又称为差影法,是指将同一景物在不同时间拍摄的图像或同一景物在不同波段的图像
17、相减。差值图像提供了图像间的差异信息,能用于指导动态监测、运动目标的检测和跟踪、图像背景的消除及目标识别等。2 2 1 数字减影函数软件要实现的功能就是通过设定一个背景图片,通过下一帧的图像信息与背景信息相减比较得出新图像是否有改变,由此来达到视频监控的功能。具体实现步骤如下:定义三个指针用于存储图像信息分别为:9 4 实用案例A p p l i c a t i o nC a s eB Y T E p i n 新图的数据区指针,B Y T E p R e d u c e 背景数据指针,B Y T E p O u t 相减后图像数据指针。存储背景。通过D i r e c t s h o w 连接
18、摄像头后,调用m e m c p y()函数存储背景信息。代码如下:i f(p D N S 一 m b G e t B a c k B m p)m b G e t B a c k B m p 用于判断是否获取背景图m e m c p y(p R e d u c e,p b,B u f f e r L e n);B u f f e r L e n为数据区长度p D N S-m b G e t B a c k B m p=F A L S E;)进行图像相减。代码如下:i f o p R e d u c e)r e t u r n;判断如果没有背景图就不处理i n td i f f e r e n
19、t P o i n t=O:i g 录不同点的数目f o r(i n ti=O:l 3 2)3 2 为灵敏系数此值因摄像头而异,与噪音有关,相差大于3 2 就认为是不同的点d i f f e r e n t P o i n t+:不同点增加p O u t i】=p l n i ;把不同点赋回它的颜色图4 软件获取背景如图4 所示,将摄像头安装好后,按下“开始摄像”按钮,系统通过D i r e c t s h o w 连接摄像头并取得摄像头所捕获的图片信息显示在监控画面中;确定所要的背景后,按下“获取背景图”按钮得到所要的背景。此时由于监控画面与背景图信息相同,因此减影画面显示为无像素的黑色图像
20、。(下转第6 7 页)万方数据2 0 0 9 年第2 期计算机系统应用重复D 4=则有如图2 的簇谱245613 客户图2 客户聚类族谱根据应用需要,可以将形成的族谱分为两类f 或四类),(2,4,5,6)为一类(当前价值低,潜在价值低),(1,3)为一类(当前价值高,潜在价值高)。针对不同类别的客户,企业可以采取不同的客户资源配置。6 结束语很多企业在做客户关系管理时,只是简单的管理客户的基本信息和一些交易数据,而隐藏在这些信息里德有价值的信息往往被忽略,企业在客户营销时往往只是凭直觉。本文就是要根据这些信息和数据帮助企业如何将有限的客户营销资源发挥最大价值,即帮助企业做出正确客户营销决策。
21、而客户细分是客户营销决策的基础,本文是根据客户价值来进行客户细分,文中提出的客户价值模型和因素权重计算方法虽还有待完善,但较一般的客户细分f s l 有了较为科学的改善,其操作性也较强。参考j J 战1 保罗格林伯格实时的客户关系管理(王敏译)北京:机械工业出版社,2 0 0 2 2V e r h o e fP C,D o n k e r sB P r e d i c t i n gc u s t o m e rp o t e n t i a lv a l u ea p p l i c a t i o ni nt h ei n s u r a n c ei n d u s t r y,D e
22、c i s i o nS u p p o r tS y s t e m s,2 0 0 1(3 2):1 8 9 一1 9 9 3 蔡锁章数学建模原理与方法北京:海洋出版社2 0 0 0:1 5 9 0 4H a nJ W,K a m b e rM D a t aM m g i n gC o n c e p t sa n dT e c h n i q u e s,S e c o n dE d i t i o n(范明,孟小峰译)北京:机械工业出版社:2 6 7 2 6 8 5 李欣商业银行客户细分模型的建立与应用统计与决策,2 0 0 8,(9):4 5 4 8(上接第9 4 页)图5系统监控
23、区域发生变化如图5 所示,拿走监视中的物体后,新的图片信息与背景信息相减后将不同的信息显示在减影画面中,而与背景相同的信息依然显示为黑色。通过设定与背景图差异点的上限,当监控的图像超过这个上限时,系统就报警,记录发生状况的时间。3 结束语通过实验,可以证明通过利用D i r e c t s h o w 与数字减影技术可以实现视频监控报警的作用。此系统适用于监视环境发生改变的情况下,通过软件将所要监视的环境做为背景,当监控的环境发生变化时(如有人的移动或物体位置的改变),系统就会自动报警。这与市面上出售的监控系统相比有很高的性价比,并且软件还处于开发阶段,通过后期不断完善还可以实现更多的功能。参
24、考j J 氏1 陆其明D i r e c t S h o w 开发指南北京:清华大学出版社2 0 0 3 1 3 5 1 5 6 2 陈天华数字图像处理北京:清华大学出版社2 0 0 7 2 0 8 2 2 5 3 蔡龙华,何道清,李永乐基于D i r e c t S h o w 技术的视频捕获计算机与现代化,2 0 0 3,(8):8 l 一8 4 4 袁莉茹图像减影技术在自动报靶系统中的应用成都信息工程学院学报,2 0 0 6,(3):3 7 0 3 7 2 R e s e a r c ha n dD e v e l o p m e n t 研究开发6 7 lo回一$一6业。眦2 一觚一D两势一生q一乙讯万方数据