欢迎来到天天文库
浏览记录
ID:34403197
大小:104.42 KB
页数:4页
时间:2019-03-05
《应用vfw实现视频采集与处理new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、视频通信专题2005.2电信工程技术与标准化应用VFW实现视频采集与处理刘旭东阮秋琦(北京交通大学信息科学研究所北京100044)摘要本文首先阐述了VFW的知识和应用VFW实现实时视频采集和处理的方法,并详细分析了实时处理中所用到的回调机制,最后给出了已应用于多媒体视频会议中的实际例子加以解释说明。关键词VFW视频采集回调机制随着通信技术、多媒体与计算视觉技术的快速发1VFW编程简介展,越来越多的应用系统不仅要求传输与处理那些事先存储下来的图像数据,更重要的是能够实时获取动态的VFW是Microsoft1992年推出的关于数字视频
2、的图像信息,并能对这些信息进行实时处理。因此,如何一个软件包,它能够灵活地实现从模拟视频源采集数字实时的采集、处理数字视频数据就成为这些应用系统中视频信号,并将其存储到文件中或直接对视频缓存进行新的重要环节。处理。视频程序可采用MCI(MediaControlInterface)1.1VFW结构组成或VFW(VideoforWindows)开发,它们之间的关VFW主要由以下6个模块组成。系如图1所示。(1)AVICAP.DLL:包含了执行视频捕获的函数,视频采集应用程序它给AVI文件I/O和视频、音频设备驱动程序提供一高级视频函数
3、(MCI)个高级接口;MCI设备驱动程序(2)MSVIDEO.DLL:用一套特殊的DrawDib函数来处理屏幕上的视频操作;VideoforWindows(3)MCIAVI.DRV:此驱动程序包括对VFW的视频设备驱动程序MCI命令的解释器;图1MCI与VFW关系图(4)AVIFILE.DLL:支持由标准多媒体I/O(MMIO)函数提供的更高的命令来访问.AVI文件;MCI为用户提供了高层开发手段,开发人员在开(5)压缩管理器(ICM):管理用于视频压缩—解发过程中不需考虑硬件设备细节只需将其当作MCI设压缩的编解码器(CODEC
4、);备直接操作即可。但在使用MCI开发程序时,对于媒体(6)音频压缩管理器ACM:提供与ICM相似的服设备的操作局限在文件级别上,如视频所对应的AVI文务,不同的是它适用于波形音频。件、音频所对应WAV文件以及MIDI所对应的MID等,这几个模块之间的联系与合作关系如图2所示。而这对于视频采集绝大多数情况是不适合的,而VFWVFW主要包括vfw.h头文件和vfw32.lib函数库。与MCI一样提供硬件无关性,并具有更大的灵活性。由于VFW函数可以方便地实现视频、音频数据流到-26-电信工程技术与标准化2005.2视频通信专题AVI
5、文件的存储,在VisualC++中也将VideoforCPU资源,该显示模式所支持的视频采集格式为RGBWindows函数称为AVIcap窗口类函数。通过使用格式。通过capPreview宏实现。叠加模式中视频捕获AVIcap窗口类函数,可以在应用中方便地集成视频采将VGA卡的输出信号和自身的输出信号叠加后形成组集功能。AVIcap为应用提供了一个访问视频采集硬件合信号显示在计算机监视器上,不需占用CPU资源,该简便的、基于消息的界面,并且能够控制视频流数据存显示模式所支持的视频采集格式为YUV格式。通过储到磁盘的过程。capOv
6、erlay宏完成。叠加模式速度较预览模式快,但如果需要在视频显示前对视频信号进行处理,则必须使用采集程序回放程序编辑程序预览模式。Preview模式和Overlay模式都只是用以显AVICAP.DLLMCIAVI.DRVMSVIEO.DLLAVIcapMCI命令转换器MCIWnd示。与采集的过程并无多大关系。它主要应用于采集帧MSVIEO.DLLAVIFILE.DLLACMMSVIEO.DLL的本地回显。视频输入通道ICM文件/流句柄DrawDibICM1.4AVIcap窗口类中常用的结构图2VFW各模块间联系图在AVIcap窗口
7、类中有4种常用的结构。(1)CAPSTATUS:定义捕获窗口的当前状态;1.2AVIcap窗口类的基本功能(2)CAPDRIVERCAPS:定义捕获设备的能力,AVIcap窗口类是完成由视频捕获硬件获取数据,如有无视频叠加能力,有无控制视频源、视频格式的对并按照需要的格式进行存储、转换的重要手段,它提供话框等;的主要功能包括如下。(3)CAPTUREPARMS:包含控制视频流捕获过(1)动态地同视频和音频输入器连接或断开;程的参数,如捕获帧频、指定键盘或鼠标键以终止捕获,(2)设置视频捕获速率;捕获的时间限制等;(3)提供设置视频
8、源,视频格式以及是否采用视频(4)VIDEOHDR:定义了视频数据块的头信息,压缩的对话框;在编写回调函数时常用到其数据成员lpData(指向数据(4)设置视频采集的显示模式为叠加(OverLay)缓存的指针)和dwBufferLength(数据缓
此文档下载收益归作者所有