如何利用摄像头进行视频采集

更新时间:2024-01-08 作者:用户投稿原创标记本站原创 点赞:25773 浏览:118816

【摘 要 】视频采集是将电子设备产生的视频信号转变成数字化的信息,然后存储或是进行实时处理的过程.本系统需要从摄像头拍摄的用户面部运动视频中找到面部活动的轨迹,控制鼠标移动的位置,所以捕捉到数字视频是一个关键的过程.

【关 键 词 】视频采集;VFW技术;DirectShow技术

微软公司提供了两种用来捕捉视频的技术,一种是VFW(Video for Windows),另一种是DirectShow.

DirectShow是微软公司提供的一套在Windows平台上基于COM(Component Object Model)的流媒体处理的开发包.它采用了一种叫Filter Graph的模型来管理整个数据流的处理过程,使我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中.

VFW(Video for Windows)也是由Microsoft推出的关于数字视频的一个软件开发包,VFW的核心是I(Audio Video Interlee)文件标准.围绕I文件,VFW推出了一整套完整的视频采集、压缩、解压缩、回放和编辑的应用程序接口(API),并给程序员提供.VBX和ICap窗口类的高级编程工具,使程序员能通过发送消息或设置属性来捕获、播放和编辑视频剪辑.

Windows系统安装的时候会自动安装VFW的相关组件,它主要由以下六个功能模块组成,如下说明:

1.ICAP.DLL:包含了执行视频捕获的函数,它给I文件I/O和视频、音频设备驱动程序提供一个高级接口;

2.MSVIDEO.DLL:用一套特殊的DrawDib函数来处理屏幕上的视频操作;

3.MCII.DRV:此驱动程序包括对VFW的MCI命令的解释器的驱动程序;

4.IFILE.DLL:支持由标准多媒体I/O函数提供的更高的命令来访问I文件;

5.ICM:压缩管理器,用于管理视频压缩-解压缩的编(CODEC);

6.ACM:音频压缩管理器,提供与ICM相似的怎么写作,不同的是它适于波形音频.

VFW技术与DirectShow技术都可以完成对实时视频的采集.VFW技术的优势在于它支持的软件平台小,不需要专用的设备,运行十分稳定,而且占用的资源较少,可以简单快捷地完成视频采集操作;其缺点是需要手工操作原始数据,容易出错,而且因为这项技术出现较早,对现在的许多媒体格式不支持.DirectShow技术的优势在于是基于COM技术的编程接口,可以使用面向对象的思想进行开发,并且对现在流行的多种媒体也提供了完善的解决方案;其缺点是需要专业的视频采集设备,运行速度慢,想要得到良好的画面质量效果,必须使用硬件辅助.


由于我们对图像质量没有太高的要求,而且需要从简单的USB摄像头中取到视频数据,所以没有采用DirectShow技术,采用VFW技术进行实时视频捕捉.

由上所述,如果要取得电脑USB摄像头拍摄的视频或是图像,只需要在系统画面上创建一个捕捉视频的窗口,通过SendMessage函数,向其发送保存视频或是抓图的消息指令就可以采集到系统需要的视频数据.

详细来说,可以利用VFW软件包中的IFILE.DLL和USER.DLL函数来捕捉摄像头中的视频数据,首先用capCreateCaptureWindow()函数创建一个捕捉视频的窗口,这个函数返回一个窗口句柄,这个句柄就是捕获窗口的句柄,后面其他操作如指定视频设备,中止、指定帧速度等就是利用SendMessage()函数发送消息指令给该句柄来实现.函数说明如下所示:

结语

本文利用VFW软件包中的IFILE.DLL和USER.DLL函数来捕捉摄像头中的视频数据,实现了从摄像头拍摄的用户面部运动视频中找到面部活动的轨迹,控制鼠标移动的位置中应用效果良好.

作者简介

李琳(1982―),黑龙江哈尔滨人.黑龙江旅游职业技术学院讲师,哈尔滨商业大学硕士研究生在读.研究方向:计算机网络与通讯.

相关论文范文