针对远程视频会议及可视化视频会议存在缺陷的直观问题,提出一种基于VFW (Video for Windows)技术并利用Visual Studio 2010开发工具开发智能视频图像采集系统.详细分析了实时处理中用到的图形设备接口函数并最终实现远程可视化智能会议视频图像信息的采集。并在以上基础上实现了可视化的高精度视频会议采集软件。
现如今社会,可视化会议视频的实时采集和存储,对视频帧信号的实时处理、目标信息的检测和识别等非常重要,在日常生活、工业生产及军事活动等领域有着广泛的应用和需求。目前,CCD 摄像头被广泛地使用在交通、遥感非接角上式工业控制、光学图像处理、目标跟踪等领域,因此针对目前通用电子设备的发展,本文利用摄像头和USB 接口设计了一个结构简单、通用性强的实时图像采集系统,软件设计基于VFW 技术和Visual Studio 2010 开发工具实现[1]。视频会议系统(Video Conference)是指两个或两个以上不同地方的个人或群体通过传输线路及多媒体设备, 将声音, 影像及文件资料互传, 达到及时且互动的沟通。
视频会议是集计算机技术,通信技术和多媒体技术于一体的远程异地通信方式。在实际应用中,视频会议能够提高工作效率, 降低远距离会议的费用。
视频程序可采用MCI(Media Control Interface)或VFW (Video for Windows)开发。MCI 为用户提供了高层开发手段,开发人员在开发过程中不需考虑硬件设备细节只需将其当作MCI 设备直接操作即可[2]。但在使用MCI 开发程序时,对于媒体设备的操作局限在文件级别上,如视频所对应的AVI 文件、音频所对应WAV 文件以及MIDI 所对应的MID 等, 而这对于视频采集绝大多数情况是不适合的,而VFW 与MCI 一样提供硬件无关性,并具有更大的灵活性。
2. 智能视频图像采集及系统架构 通过评估, 最终确定选择CCD 摄像头USB 接口来做外设硬件, 系统架构由摄像头以及计算机构成, 如图1 所示。所以该系统易于实现性价比较高、通用性强等特点。
本系统基于VFW 技术,软件设计应用了Visual Studio 2010 开发工具,使用C++语言编程实现[3]。
微软推出数字视频的软件开发工具包。为软件开发人员提供了一个专门用于实现实时视频捕获、剪辑和视频播放的重要工具。
该开发包封装了视频应用程序所需的接口函数(API 函数), 程序可以直接调用VFW的API 函数, 这样就大大简化了程序员开发基于Window 的视频应用程序的工作, 提高了开发效率。
VFW主要由6 个模块组成,其中的AVI Cap.DLL 用于视频捕捉[4]。AviCap.DLL 中提供了基于消息接口的、功能强大而简单易行的窗口类AVICap,本系统的图像捕捉程序主要使用了这个窗口类。通过Avlcap 程序可以访问视频硬件并控制视频流的捕获, 它能直接访问视频缓冲区, 不需要生成中间文件, 实时性强, 效率高[5]。
3. 智能视频图像采集实现 3.1. 视频捕获流程 视频数据的实时采集,主要通过AVICAP 模块中的消息、宏函数、结构以及回调函数来完成。捕获