已阅读5页,还剩85页未读, 继续免费阅读
(通信与信息系统专业论文)基于低分辨率视频的运动字符提取方法的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 本文介绍了一种低分辨率下的运动字符的提取方法。这种运动字符的 提取方法,采用了静态提取与动态提取相结合的方式。静态提取,是指 当把一张写有汉字字体的白纸片,移入摄像头的视野范围的时候,系统 自动对白纸片上的汉字进行切分提取。动态提取是指在摄像头的视野范 围内,用笔进行汉字书写的时候,系统可以自动跟踪笔尖的轨迹,最终 用于所写汉字的字符恢复。 在介绍运动字符的提取的实现方法以前,本文首先介绍了基于 d i r e c t s h o w 的摄像头视频采集程序的实现方法。这是进行一切基于机器 视觉的各种研究的基础。经过试验,采用d i r e c t s h o w 实现的摄像头捕捉 程序,捕捉速度可以达到每秒2 8 幅图片以上。这为进行任何基于机器视 觉的项目研究,打f 了良好的基础。 在实现运动字符的静态提取的时候,本文提出了一种基于灰度图像的 边缘提取再进行二值化的预处理方法。这种方法有效地消除了普通消费 级摄像头的暗角影响。另外,本文给出了一种基于连通域的多汉字切分 方法。这种方法有效地克服了不同投影方法对多汉字切分的局限性。最 后本文提出了一种基于汉字外界框的运动汉字定位的方法。 在实现运动字符的动态提取的时候,本文提出了一种基于差分运动图 像分析的笔尖跟踪算法。在不建立背景模型的情况下,这种方法有效的 实现了背景的滤除和笔尖序列的恢复。首先,本文介绍了在摄像头固定 的情况下这种基于差分运动图像分析的笔尖跟踪算法的实现过程。通过 对文字书写过程中的笔尖运动的特点的研究观察,提出了基于四方向投 影的候选点的选择规则和基于差分图像的方向特征的笔尖候选点集合的 缩小规则,以及基于笔尖运动速度的真实笔尖判别规则。在获得了笔尖 序列以后,又提出了一种坏点的滤除方法,使得到的笔尖序列更加准确。 其次,本文介绍如何在手持摄像头的情况下进一步完善这种基j 二差分运 动图像分析的笔尖跟踪算法。在实现手持摄像头的笔尖跟踪算法的过程 中,提出了一种基于抽样图像的图像模糊的方法和一种基于抽样图像的 中值滤波的方法,并且有效地消除了因为手的抖动带来的背景相对运动 的问题。实验证明,这种基于差分运动分析的笔尖跟踪算法是有效的。 关键字:运动字符捕捉、笔尖跟踪、机器视觉、运动分析 华南理= 人学硕+ 学位论文 a b s t r a c t i nt h i st h e s i s ,t w om o t i o nh a n d w r i t t e nc h a r a c t e r se x t r a c t i o na p p r o a c h e s a r ep r o p os e d t h ef i r s tonei ss t a t i cm o t i o n a lc h a r a c t e r se x t r a c t i o nm e t h o d a n dt h es e c o n donei sd y n a m i cm o t i o n a lc h a r a c t e r se x t r a c t i o nm e t h o d t h e f i r s tonem e a n sw h e nw em o v eap a p e r ,w h i c hh a sac h a r a c t e ro ni t ,t ot h e c a m e r a sv i e w ,t h es ys t e mw i l lc a p t u r et h ep a p e r ,s e g m e n ta n dr e c o g n i z et h e c h a r a c t e ro ni ta u t o m a t i c a l l y t h es e c o n donem e a n sw h e ny o ua r ew r i t i n ga c h a r a c t e rr e a l - t i m e l yi nt h ec a m e r a sv i e w ,t h es ys t e mw i l la u t o m a t i c a l l y t r a c ka n dr e c o r dt h ep e n 。p o tp o s i t i o n ,a n dr e b u i l dt h ep e n t i ps e q u e n c ea f t e r y o u rw r i t i n g s oi tc a l lb eu s e df o rt h er e c o g n i t i o no ft h eh a n d w r i t t e n c h a r a c t e r sw i t ha no n l i n er e c o g n i t i o nm e t h o d f i r s t l y ,t h ev i d e oc a p t u r ea p p l i c a t i o nb a s e do n t h ed i r e c t s h o wi s i n t r o d u c e d ,a st h a tist h eb a s ef o rc a p t u r i n gi m a g e v i d e od a t af r o mc a m er a w i t ht h eh e l po ft h ed i r e c t x ,t h ec a m e r acanc a p t u r ea tl e a s t2 8p i c t u r e si n e v e r ys e c o n d i ti sn e a rt ot h el i m i to ft h ec a m e r a sh a r d w a r es p e e d s ot h is c a p t u r em e t h o dw i l lg i v eu se n o u g hh e l pt od ot h ef o l l o w i n gw o r k s f o rt h et a s k o ft h es t a t i cm o t i o n a lc h a r a c t e r se x t r a c t i o n ,a n i m a g e p r e p r o c e s s i n gm e t h o dw h i c hc anr e d u c et h ed a r kp o ti n f l u e n c eo ft h ec a m e r a is p r o p o s e d a n d am u l t i c h a r a c t e r s s e g m e n t a t i o n m e t h o db a s e do n c o n n e c t e da r e ai sp r es e n t e d ,w h i c hcans o l v et h ep r o b l e mt h a ta r i s ef r o mt h e p r o j e c t i o nb a s e ds e g m e n t a t i o nm e t h o d f o rt h et a s ko ft h ed y n a m i cm o t i o n a lc h a r a c t e r se x t r a c t i o n ,ap e n - t i p t r a c ka l g or i t h mb a s e do nt h em o t i o nd e t e c t i o nm e t h o dw i t hd i f f e r e n c ei m a g e i s p r o p os e d a l t h o u g hw ed on o tb u i l dt h eb a c k g r o u n dm o d e l s ,w es t i l lg e t t h ep e n p o ts e q u e n c ea n dr e m o v et h eb a c k g r o u n d si n f l u e n c es u c c e s s f u l l y t h ep e n t i pt r a c k i n ga l g o r i t h mi naf i x e d c a m e r as i t u a t i o nw a sp r e s e n t e d s e v e r a lm e t h o d sa r et e s t e dt of i n do n tw h i c honeist h eb e s tt of i n dt h e p o s s i b l ep e n p o t sa n dr e d u c et h ep o ss i b l ep e n p o t sn u m b e r s a n da ls ot h e m e t h o dt of i n do u tt h er e a lp e n p o ti nt h ep o ss i b l ep o i n t si sp r o p o s e d ,w h i c h isb a s e do nt h es p e e da n a l y s iso ft h ep e n t i p a l lt h em e t h o dp r o p os e dis c o i n i n gf r o mo urc a r e f u lo b s e r v et ot h e w r i t i n gm a n n e r o ft h e p e o p l e f u r t h e r m o r e ,w ei m p r o v et h ea l g o r i t h mi no r d ert ot r a c kt h ep e n t i pw h e n a b s t r a c t t h ec a m e r ai sn o tf i x e db u tb eh a n d e d as a m p l ei m a g eb l u rm e t h o di s p r o p o s e d a sw e l la s as a m p l ei m a g em e d i a nf i l t e rm e t h o dt or e d u c et h e b a c k g r o u n d si n f l u e n c ei n t h i ss i t u a t i o n t h ee x p e r i m e n t sp r o v e dt h a t t h e p e n t i pt r a c ka l g o r i t h mw a se f f e c t i v e k e yw o r d s :m o t i o n a lc h a r a c t e r sc a p t u r e ,p e n t i pt r a c k i n g ,m a c h i n e v i s i o n ,m o t i o nd e t e c t i o n 1 1 1 本文工作得到国家自然科学基金的资助 项目名称:低分辨率运动手写体汉字识别 项目编号:6 0 2 7 5 0 0 5 起止日起:2 0 0 3 1 。2 0 0 5 1 2 华南理工大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进 行研究所取得的研究成果。除了文中特别加以标注弓1 用的内容 外,本论文不包含任何其他个人或集体已经发表或撰写的成果作 品。对本文的研究做出重要贡献的个人和集体,均已在文中以明 确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:础锄 、 日期:夕。眸月o 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规 定,同意学校保留并向国家有关部门或机构送交论文的复印件和 电子版,允许论文被查阅和借阅。本人授权华南理工大学可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于 不保密毗 ( 请在以上相应方框内打“4 ”) 作者签名:武铀 铷戤:侈掺己 。 日期:7 自。舞 f 月。日 日期:7 f 年6 月uf i 第一章绪论 第一章绪论 1 1 运动字符提取与识别的研究意义 随着计算机技术的飞速发展,人类社会已经逐渐步入机器智能的时 代。现在,越来越多的新技术已经打上了“智能”的招牌,如智能控制、 智能材料、智能家电、智能通信等等。 其实,人工智能是指研究如何用计算机去模拟、延伸和扩展人的智能; 如何使计算机变得更聪敏、更能干:如何设计和制造具有更高智能水平 的计算机的理论、方法、技术及应用系统的一门新兴的科学技术。 具体来讲,人的智能体现在思维、感知、行为三个层次,因此,计算 机人工智能也要研究解决这三个层次的问题。 ( 1 )机器思维。具体讲是计算机思维、计算机学习、计算机诊断、计算 机辅助设计、计算机证明疑难算例、计算机编程、计算机下棋、计算机 作曲、计算机绘画等等。 ( 2 )机器感知。让计算机像人一样能感觉到气味、颜色、触觉。 ( 3 )机器行为。研究计算机模拟、延伸和扩展人的智能行为,如语言、 动作、智能监测、智能控制等行为。 其中,进行运动字符的识别和笔尖的实施跟踪就是运用了机器感知中 机器视觉的技术以及机器思维中的机器诊断技术。 随着人工智能在现在社会的逐渐渗透,人类的工作在机器的帮助下 变得越来越轻松也变得越来越有效率。 运动字符的捕捉识别,比较常见的应用就是用来获取印刷版的文字, 并进行从印刷版到计算机符号的转换。这对于文字的计算机办公化处理 起到了重要的作用,因为随着手持摄像设备的发展,人们可以很简单方 便的利用手持设备纪录已有的文字信息。运动字符的捕捉,更常见的应 用于高速公路的车牌识别系统。记录运动中的车牌并提取分析车牌号码 成为高速公路车辆控制管理的重要部分。类似的,码头集装箱的号码实 时分析系统,以及各种货运监控系统都有对运动字符捕捉识别的要求。 运动物体的检测,更多的应用在智能控制与智能分析领域。通过检 测目标物体的运动方向、运动速度、运动轨迹来获得需要的信息或控制 机器的行为。比如用人的手势检测来控制机器人的反映方式,又比如车 华南理工大学硕士学位论文 流分析中自动监测一定时间内通过的车辆并进行统计。另外智能相机的 自动对焦系统,摄像机的自动追踪系统都是运动物体检测的应用的范例。 这罩要介绍的笔尖跟踪,属于运动目标的轨迹检测。 1 2 基于视频的文字识别的历史与现状综述 从四肢伏地而行,到直立行走,人类为语言的产生的迈出了第一步, 语言成为人类区别于其他生物的重要标志。 从结绳记事到文字的产生,文字成为了人类记录自己的历史和文明的 载体,使人类终于进入了文明社会。 文字最初是记录在瓦片羊皮上的,这种方式既不利于知识的传播也不 利于与信息的保存。后来,文字被写在纸张上保存下来的,虽然纸张是 很好的载体,但是仍然容易因为自然界的原因而损毁。进入电气时代后, 人类找到了新的记录信息的方式,将电子信号储存在电子元件中,由于 电子元件比纸张的耐用度强,所以这就解决了信息长期保存的问题。可 是,由于人类几千年的经验积累都已经用纸张的方式进行了保存,要将 纸张中的文字保存到电子器件中,首先必须要进行电子信号的转化。如 果用人工的方式进行不但费用高而且极不可靠。因此为了使机器能自动 识别这些文字并将其自动转变为电子信号,为了节约成本而且也将保证 文字转化的准确性,因此人们开始了文字识别的研究。 最早的文字识别的研究历史可以追溯到2 0 年代末,1 9 2 9 年t a us h e c k 获得了字符识别的第一个专利 7 ,在其专利中,他第一次提出了模板匹 配的概念,其原理是:当识别一个字符时,让光线透过字模射过待识别 字符到一个光感受器上,当字模与待识别字符相匹配时,光感受器上将 检测不到光线,从而识别出该字符。1 9 3 3 年,美国学者h a n d e l 第一次提 出了光学字符阅读机( o c r ) 的概念,并因此而获得专利 8 】,这种能够自 动阅读字符和数字的机器,一直激励这许多学者为此而努力工作。 从某种意义上说,这种o c r 系统,也就成为了基于视频的文字捕捉 和识别的最早应用。 随着字符识别研究的不断进步,以及计算机的科学的飞速发展。现阶 段,人们把越来越多的目光投入到基于字符识别的各种实际应用中。而 在机器视觉研究的基础上,以及随着视频摄像设备的成本的下降,人们 自然就想到如何用视频捕捉的方式解决字符的机器录入问题。人们丌始 研究基于v i d e o 的文字o c r 系统。 理论的发展,可以促进实际应用的创新;而反过来应用的要求也促进 第一章绪论 了理论的深入研究。越来越多的行业需要基于视频的文字识别功能。电 视制作单位需要利用v i d e o 直接进行文字的录入和编辑,交通码头需要 利用高速v i d e o 进行车牌数字的识别,而文秘和科技工作者更希望通过 手持摄像设备来获取大量的文字资料。这些都促进了基于v i d e o 的文字 识别的研究和发展。 但是从本质上说,基于v i d e o 的文字识别,要解决的关键问题并不是 文字识别的方法研究。因为文字识别的方法越加成熟,脱机识别联机识 别都已经达到了非常高的精度和速度。困难的重点,转移到了如何对 v i d e o 捕捉到的文字图像进行文字的提取和切分。 上世纪9 0 年代,图像和视频中的文字获取技术逐渐成为研究的热点。 通常从图像中提取文字都需要首先定位包含文字的图像区域,但文字在 字体、大小、对齐方式和排列上变化多端,文字背景复杂,图像分辨率 低,而且许多应用场合还要求算法具有一定处理速度,这些都使得从图 像中有效的提取文字变得非常困难。 z h o n g 等提出了一个解决方案用来定位复杂图像中的文字 3 3 该方 案由两种方法融合而成,他们分别基于寻找特定尺寸的单色连接区域和 基于文字本身特殊的空间差异,但其主要是针对彩色c d 封面的扫描图像 中的文字定位,不能直接应用到视频图像中。通常,扫描图像信噪比( s n r ) 是相当高的,而视频图像的信噪比却相当低,这也是视频图像文字分割 面临的最大挑战之一。j a i n 等介绍了一种适合报纸网页和通常的图像、 视频的文字定位方法 3 4 ,该方法对广告图像、网页标题图像、扫描杂志 页面以及视频图像都能获得较好的实验结果。s m i t h 等提出了一个在视频 图像中检测文字的方法【3 5 ,他们提取的文字特征为一个有密集边缘的水 平长方框,并利用这个特征去识别单祯图像中的文字,但这个方法有尺 寸上的局限性,即只有特定字体尺寸范围内的文字才能被检测。w u 等提 出了一个分4 部从图像中监测和抽取文字的系统 3 6 ,该系统进行文字榆 测的时候,首先文字被看作一种特殊的纹理,并在二个不同尺度上使用3 个二阶高斯导数来找到可能的文字区域;然后,从水平排列的文字区域 中抽取出明显的垂直笔划,再基于经验规则将笔划组成紧凑的长方形框; 接着清除这些文字框区域重复前两步进行提炼,再对每个文字框图像地 得到的二值图像通过标准的o c r 软件进行识别。w u 等对3 5 幅图像进行 了实验,结果表明识别率达到了8 4 。然而,这个方法也是针对扫描图 像的,用于视频图像并不理想。近年来,s a t o 开发了一个针对静态的低 分辨率的新闻标题的文字分割识别系统【3 7 】。l i e n h a r t 等先后开发出了两 个视频中的文字监测、分割和识别系统 3 8 ,3 9 】。该两个系统都是利用文 华南理工大学硕士学位论文 字的单色性、相对于背景的高对比度和视频字幕的简单文理来进行图像 分割。为了排除非文字区域,文献【3 8 】中的系统采用基于颜色的分割融合 算法,并且只对单祯进行分割和识别,而没有考虑连续的多祯。而在文 献【3 9 中,由于考虑了字幕纹理各项异性的扩散,而且文字在其存在的连 续多祯内被追踪和整合利用,因而使得该系统在商用的o c r 识别殷勤条 件下,识别率达到了4 1 7 6 。l i h u i 2 p i n g 等还适用前向反馈的神经网 络来定位视频中的文字【4 0 ,4 1 】,即将单祯的高频小波系数作为网络的输入 来训练神经网络监视视频中是否有文字字幕出现,如果没有文字出现, 那么每次就处理特定数量的图像祯;如果有文字出现,那么就是用块匹 配去追踪简单背景下的文字,但该方法只适用于视频、并且其只能在块 水平检测文字,如果文字行不是均匀运动的,则该方法将导致严重问题。 上面提到的这些研究结果,都是对于视频或图像中的印刷体的文字或 文字字幕的提取的。这里,人们又经历了从基于视频的印刷体的文字识 别到手写体的文字识别的转换过程。签名的自动提取,笔迹的自动识别 等等应用要求,促进了通过摄像设备直接进行手写体文字的识别的研究。 与上面提到的相同,因为手写体的识别也依然发展到空前成熟,所以基 于视频的手写体文字识别的研究的重点仍然在于文字本身的切分和提取 上。而在本系统中,要介绍的汉字提取,正是对手写体汉字的视频提取 的过程。 1 3 本系统的构架 系统的主要目的是开展关于低分辨率下运动字符的提取问题的研究。 计划系统按两个步骤实现。首先实现静态情况下的运动字符的提取。摄 像头自动开始捕捉一个固定背景的图片后,把一张写有手写体文字的白 纸送入摄像头的视野范围后,系统可以自动识别出上面的手写体文字。 然后实现动态情况下的字符提取。当在摄像头的视野范围内书写汉字的 时候,系统可以自动跟踪并纪录书写者的笔尖运动轨迹,并对写完的汉 字进行识别。 因此,要实现的功能主要有两个:l ,运动字符的静态提取;2 ,运动字 符的动态提取。 对于运动字符的静态提取部分,系统要求能够用摄像头实时捕捉在一 张白色纸卡片上的手写体文字以用于文字的识别。 对于运动字符的动态提取部分,系统要求在手持摄像头( 有手的抖动 4 第一章绪论 干扰) 和固定摄像头两种情况下对书写的笔尖进行实时跟踪,用于笔迹 的恢复。 这两种提取方式的结合,可以有效的提高运动字符的提取效率。 整个实验系统在v c + + n e t 平台上完成。 华南理工_ 人学硕士学位论文 第二章视频捕捉的实现 2 1dir e c t x 的介绍 不管是运动字符的捕捉识别,还是笔尖的跟踪,都是基于机器视觉功 能实现的。为了实现图像的实时捕捉,系统采用了d i r e c t x 来进行视频采 集的开发。 d i r e c t x 是微软提供的一套a p i 函数接口【1 ,用于实现游戏或者高性 能的多媒体应用程序的开发。其实,实现视频捕捉还可有另外的几种方 法:1 ,给予视频捕捉硬件的专用开发包;2 ,给予m f c 提供的视频捕捉函 数。但是,这两种方法都有致命的缺点。基于硬件开发商提供的硬件开 发包直接进行开发,兼容性不好,每次更换硬件类型都有可能要重新开 发视频捕获程序,而基于m f c 开发的视频捕捉程序效率又比较低。 d i r e c t x 提供了一种在p c 环境下的多媒体技术的统一解决方案,对底层 硬件的封装使丌发者不需要考虑每一种硬件设备的不同,可以使用相同 的解决方案实现对不同规格的视频采集设备的调用。于是在p c 环境下, d i r e c t x 实现视频捕捉是一种可靠而高效的选择。 当前d i r e c t x 的最新版本是d i r e c t x 9 0 。从d i r e c t x 8 1 版开始,d i r e c t x 在原有的组成框架中引入了新的组成部分d i r e c t s h o w 组件,该部分集成 并扩展了d i r e c t d r a w 和d i r e c t s o u n d ,为多媒体音视频开发提供了大力的 支持 1 2 。d i r e c t s h o w 可以提供多媒体流的高质量捕捉和回放,并支持 大量的媒体格式( 实际上,通过第三方组件的支持,基本上可以支持现 有的任何媒体格式) 。在视频捕捉方面,d i r e c t s h o w 既可以支持 w d m ( w i n d o w sd r i v e rm o d e l ) 设备,又可以支持过去的v f w ( v i d e of o r w i n d o w s ) 设备,保持了良好的兼容性 3 】。另外,d i r e c t s h o w 是基于c o m 技术的,所以在使用d i r e c t s h o w 进行开发以前必须要对c o m 有基本的了 解( 由于篇幅的限制,对于c o m 内容,本文不作介缁) 4 】。 本部分主要介绍基于v c + + n e t 平台,如何开发u s b 接口的摄像头视 频捕获程序。 6 第二章视频捕捉的实现 2 2 用d ir e c t s h o w 实现视频捕捉的一般方法 2 2 1 整体框架 要开发基于d i r e c t s h o w 的应用程序,首先要安装d i r e c t x s d k 开发包, 该开发包可以在微软主页下载。安装以后还要编译d i r e c t s h o w 的基础类 库b a s e c l a ss 。 在d i r e c t s h o w 中,以下概念非常重要:过滤器( f i l t e r ) ,过滤器图( f i l t e r g r a p h ) ,过滤器图管理器( f i l t e rg r a p hm a n a g e ) 1 2 。下面将一一介绍。 2 2 1 1 过滤器( fi i t er ) d ir e c t s h o w 的基本构件是叫做“f i l t e r ”一一过滤器的软件组件。一个过 滤器有输入和输出两种引脚,数据从输入引脚进入从输出引脚流出。一 个过滤器在数据流处理中负责完成某一个特定的任务,这些过滤器通过 引脚相互连接,就构成了实现某一种功能过滤器图。常用的过滤器有以 下几种: l 、s o u r c ef i l t e r 源过滤器 源过滤主要是接受数据源的流数据。数据源可能是硬盘上的某一 个媒体文件,也t 叮能是网络上的一个媒体流等等。在本文介绍的 视频捕捉的程序中,数据源就是指u s b 接口的摄像头传出的数据 流。 2 、t r a ns f o r mf i l t e r 传输过滤器 传输过滤器主要是负责数据的传输,和转换。比如,因视频数据 和音频数据的合成,分割,压缩等等。 3 、r e n d e rf i l t e r 渲染过滤器 渲染过滤器主要是负责数据的最终去向,比如是在传输给声卡等 声音设备还是显卡等显示设备,或者是存成硬盘上的数据文件等 等。 2 2 1 2 过滤器图( f i l t e rg r a p h ) 过滤器是基本的功能单位。一个应用程序为了完成某一个任务,需 要把这些过滤器连接起来。一个过滤的输出成为另一个过滤器的输入, 这些过滤器前后连接,就构成了过滤器图。一个过滤器图,可以实现 华南理j 二大学硕+ 学位论文 个具体的功能。如图2 1 所示,就是一个简单的过滤器图。 图2 一l 视频捕捉过滤器图 v i d e oc a p t u r ef i l t e rg r a p h 该过滤器图有4 个f i l t e r 组成,其中0 0 0 1 是视频捕捉过滤器( 也就是 源过滤器) ,s m a r tt e e 和g r a b b e r 是传输过滤器( 前者将数据流分为捕捉 和预览两部分输出,后者是样例过滤器用于数据祯的捕获) ,v i d e o r e n d e r e r 是渲染过滤器( 用于将数据传输到显卡进行预览) 。 2 2 1 3 过滤器图管理器( f i l t e rg r a p hm a n a g e r ) 有了过滤器图,也就有了某一个应用功能实现的基础。但是,功能 的实现还需要一个更高的管理构架,这就是过滤器图管理器。有了管理 构架,就可以轻松的实现过滤器图中的各个过滤器的道通和关闭,实现 过滤器的同步等等各种复杂的操作。过滤器图管理器,还可以自动生成 一些指定功能的过滤器图,节省了大量手动建立过滤器图的繁复操作。 所以,过滤器图管理器是更高一层的控制部分是应用程序和d i r e c t s h o w 内部构件的控制接口,通过它可以方便的实现过滤器的更换,数据流的 控制,过滤器图的构建。 在介绍了过滤器,过滤器图和过滤器图管理器以后,图2 - 2 给出了一 个基于d i r e c t s h o w 的应用程序的基本框架构图。 应用程序( a p p l i c a t i o n ) 通过命令与消息和d i r e c t s h o w 的构架保持联 络,而d i r e c t s h o w 内部通过f i l t e rg r a p hm a n a g e r 与外部保持联系,并处 理内部数据。于是,一个基于d i r e c t s h o w 的基本应用程序的建立就是要 建立f i l t e rg r a p hm a n g e r 和f i l t e rg r a p h ,并且根据需要控制f i l t e rg r a p h , 实现各种功能。 第二章视频捕捉的实现 图2 - 2d i r e c t s h o w 应用程序框架 t h ea p p l i c a t i o nf r a m eu s e dd i r e c t s h o w 2 2 2 实现步骤 使用d i r e c t s h o w 实现视频的捕捉,就是要建立一个d i r e c t s h o w 的过 滤器图。该过滤器图的功能就是完成视频的捕捉和播放。以下主要介绍 该实现过程的一个简单实例并附以简单的代码,由于篇幅的限制文中省 略细节部分和各种异常处理。要实现视频捕捉需要以下几个步骤: 2 2 2 1 初始化环境 在使用d i r e c t s h o w 之前,首先需要包含所需要的类库和各种必需的头 文件。本程序需要的类库有:s t r m b a s d 1 i bq u a r t z 1 i b ,s t r m i i d s 1 i b ;需要的头 文件有:s t r e a m s h ,d s h o w h 。 因为d i r e c t s h o w 是基于c o m 技术的,所以在程序的一丌始建立c o m 对象以前,必须首先进行声明。这一步骤是大家经常遗忘的,声明的语 句如下: c o i n i t i a l iz e ( n u l l ) 。 华南理上大学硕十学位论文 2 2 2 2 列举视频设备 p c 机上的视频设备作为s o u c ef i l t e r 应用在过滤器图结构中。这些 f i l t e r ( 过滤器) 运行在用户模式下,而这些f i l t e r 所对应的硬件设备则运 行在核心模式下。这些f i l t e r 包装了硬件设计,使得编程的时候不需要 考虑硬件的差异性,由f i l t e r 自动调用对应硬件的驱动程序完成对硬件 的访问。所以,在构建过滤器图前,必须知道p c 机上有哪些可以使用 的硬件资源,因此必须首先列举这些硬件设备。设备列举f i l t e r 首先要 访问驱动程序的属性集,然后动态配置f i l t e r 上的接口,来代表某个系 统设备。视频捕捉设备都注册在c l s i d v id e o i n p u t d e v ie e c a te g o r y 之 下,实现视频设备列举的程序如下。 首先创建列举器: i c r e a t e d e v e n u m * p e r e a t e d e v e n u m = n u l l : c o c r e a t e i a s t a n c e ( c l s i d s y s te m d e v i c e e n u m ,n u l l , c l s e t x i n p r o c s e r v e r , i i b 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 e n u m m o n i k e r * p e m = n u l l : p c r e a t e d e v er l u m 一 c r e a te c l a ss e n u m e r a t o r ( c l s i d v i d e o i n p u t d e v i c e c a t e 9 0 r y , p e m ,0 ) : 为了简化实现过程,可以选取列举的第一个视频设备作为程序的数 据源: i m o n i k e r * p m v i d e o : u l o n gc f e t c h e d : p e m 一 n e x t ( 1 ,& p m v id e o ,c f e tc h e d ) : 至此,系统找到了视频捕捉设备,并保存其接口在p m v id e 0 。 2 2 2 3 创建过滤器图管理器和过滤器图 一个用于视频或音频捕捉的过滤器图又被称为一个捕获图( c a p t u r e g r a p h ) 。由于捕获图比一般的过滤器图更加复杂,为了高效的建立捕获 1 0 第二章视频捕捉的实现 图,d i r e c t s h o w 提供了一个更加方便的对象“捕获图建立器”( t h ec a p t u r e g r a p hb u i l d e r ) 。捕获图建立器提供了i c a p t u r e g r a p h b u i l d e r 2 接口,通过 该接口可以方便的建立和控制一个捕获图。 首先,要建立i c a p t u r e g r a p h b u i l d e r 2 接口并且与过滤器图相连接: i c a p t u f e g r a p h b u il d e r 2 * p b u i1 d e r = n u l l : c o c r e a t e i n s t a n c e ( ( r e f c l s i d ) c l s i d _ c a p t u r e g r a p h b u i l d e r 2 , n u l l ,c l s c t x i n p r o c , ( r e f i i d ) i i d i c a p t u r e g r a p h b u i l d e r 2 , ( v o id 籼e ) & p b u i ld e r ) : i g r a p h b u i l d e r 水p f g = n u l l : c o c r e a t e i n s t a n c e ( c l s i o f i1 t e r g r a p h ,n u l l , c l s c y x i n p r o c , i i d i g r a p h b u i1 d e r ,( l p v o i d ) & p f g ) : p b u i l d e r 一 s e t f i l t e i - g r a p h ( p f g ) : 然后,建立捕获图: ,添加视频捕捉过滤器( s o u c ef i l t e r ) i b a s e f i1 t e r * p v c a p : p m v i d e 0 一 b i n d t o o b je c t ( 0 ,0 ,i i d i b a s e f il t e r , ( v o i d 枷 ) & p v c a p ) : p f g 一 a d d f i l t e r ( p v c a p , n u l l ) : ,添加样例捕捉过滤器 i b a s e f i l t e r 术p b a s e g r a b b e r = n u l l : i s a m p le g r a b b e r * p g r a b b e r = n u l l : c o c r e a te i n s t a n e e ( c l s i d s a m p le g r a b b e r ,n u l l , c l s c t x i n p r o c , i i d i s a m p le g r a b b e r ,( l p v o i d ) g c a p p g r a b b e r ) : p g r a b b e r 一 q u e r y i n te r f a c e ( i i d i b a s e f i l te r ,( v o i d $ 术) g c a p p b a s e g r a b b e r ) : p f g 一 a d d f i l te r ( p b a s e g r a b b e r ,l ”g r a b b e r ”) : 连接渲染过滤器,实现整个过滤器图的构建 p b u i l d e r 一 r e n d e r s t r e a m ( p i nc a t e g o r yp r e v i e w , m e d i a t y p ev id 0 0 p v c a p 华南理t 大学硕士学位论文 p b a s e g r a b b e r ,n u l l ) : 其中,样例捕捉过滤器主要用于在实时的数据流中捕获某一祯数据。 r e n d e r s t r e a m 函数的调用,表示从源过滤器( p v c a p ) 开始,经过样例捕捉过滤器 ( p b a s e g r a b b e r ) ,自动生成整个预览( 通过p i n c a t e g o r y p r e v i e w 控制) 过滤 器图。这样建立的过滤器图,如前面的图l 所示。 2 2 2 4 使用过滤器图管理器控制数据的预览 在过滤器图建构完毕以后,就可以方便的通过过滤器图管理器对其进 行控制了。下面简单的介绍如何实现视频的开始和停止预览。由于篇幅 的限制,对于更复杂的功能( 比如样例捕捉过滤器的单祯捕获) 这里不 再说明。 首先,建立与预览所用的播放窗口,其中hw nd 是预览窗口的句 柄。 建立播放的窗口,与hwnd 相连接并且作为hwnd 的 子窗口。 i v i d e o w i n d o w * p v w : p f g 一 q u e r y i n t e r f a c e ( ii d i v i d e o w i n d o w ,( v o i d 水木) v w ) : p v w 一 p u to w n e r ( ( o a h w n d ) h w n d ) : p v w 一 p u t w i n d o w s t y le ( w s c h i l d ) : 使预览子窗口充满整个h w n d 所标志的窗口 r e c tr c : g e t c l ie n t r e c t ( h w n d ,r c ) : c y b o r d e r = g e t s ys t e m m e t r i es ( s m c y b o r d e r ) : r c b o t t o m 一2 c y b o r d e r : p v w 一 s e t w i n d o w p o s i t i o n ( 0 ,0 ,r e r i g h t ,r c b o t t o m ) : p v w 一 p u t v is i b le ( o a t r u e ) : 然后,就可以通过控制过滤器图来实现视频的预览了。 i m e d i a c 0 n t r 0 1 * p m c = n u l l : p f g 一 q u e r y i n t e r f a c e ( i i d i m e d i a c o n t r 0 1 ,( v o id ) & p m c ) : p m c 一 r u n ( ) ; 要停止预览,只要调用 p m c 一 s t o p ( ) : 第二章视频捕捉的实现 即可。 2 2 3 调试工具 d i r e c t x 还提供了一个非常方便的调试工具g r a p h e d i t e x e 5 】。利用 这个工具可以很方便的构建自己的过滤器图,或者监视一个运行 d i r e c t s h o w 运行线程中过滤器图的运行情况。如上面的图1 ,就是在该调 试工具中截取获得的。在丌发过程中,灵活的运用g r a p h e d i t e x e 可以给 程序的调试带来极大的方便。下面介绍一下如何利用g r a p h e d i t e x e 进行 线程的监视。其实过程很简单,只需要在过滤器图建立完毕以后,在系 统中把该过滤器图注册即可;当然在过滤器图拆除以后,记得反注册一 f 即可。 注册过程如下: i m o n i k e r 术p m o n i k e r : i r u n n i n g o bj e e t t a b l e * p r o t : w c h a rw s z 1 2 8 ; w s p r i n t f i ( w s z ,l ”f i l t e r g r a p h 0 8 xp i d 0 8 x ”, ( d w o r d p t r ) p f g , g e t c u r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗器械不良事件监测和再评价管理办法试行试题及答案
- 初中语文人教部编版八年级下册庄子与惠子游于濠梁之上教案设计
- 护理三基三严考试题库含答案
- 2026年医院屋顶直升机停机坪维护合同
- 初中语文观沧海教案及反思
- 医院急救中心暴力伤医应急预案演练
- 跌倒坠床应急演练脚本
- 湘艺版音乐 七年级下册 第一单元 我们是春天 教学设计
- 初中物理北京课改版九年级全册一、电功和电能教学设计
- 2024年红十字会应急救护技能大赛试题库及答案(共50题)
- 2025年农业科技研究员招聘面试参考题库及答案
- 中国球铁铸造件行业市场规模及未来投资方向研究报告
- 2025+ACOG产时胎心率监测指南详解课件
- 2026云南玉溪市玉白顶自然保护区管护局招聘森林草原火灾预防专业队队员40人笔试考试参考试题附答案解析
- 服装专业职业生涯规划
- 湖北省黄冈市部分高中2026届高三上学期期中考试政治试卷(含解析)
- 领导力培训课件:情商与领导力
- 2025年国语入门测试试卷及答案
- 合规性保证承诺书范本8篇范文
- 2025中国电信安徽分公司定向招聘47人(含应届和非应届)易考易错模拟试题(共500题)试卷后附参考答案
- 机场地勤地面服务员岗位常用面试题集含行为面试
评论
0/150
提交评论