如何利用vfw在delphi中开发视频捕获程序

如何利用vfw在delphi中开发视频捕获程序

ID:30806251

大小:54.05 KB

页数:5页

时间:2019-01-03

如何利用vfw在delphi中开发视频捕获程序_第1页
如何利用vfw在delphi中开发视频捕获程序_第2页
如何利用vfw在delphi中开发视频捕获程序_第3页
如何利用vfw在delphi中开发视频捕获程序_第4页
如何利用vfw在delphi中开发视频捕获程序_第5页
资源描述:

《如何利用vfw在delphi中开发视频捕获程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、如何利用VFW在Delphi中开发视频捕获程序摘要:许多关于视频的软件(如视频会议、可视电话等)开发都应用于视频捕获技术。微软为软件开发人员提供了一个专门用于视频捕获的VFWSDK,从而为在Windows系统中实现视频捕获提供了标准的接口,并大大降低了程序的开发难度。由于VFWSDK只有VC和VB版,没有Delphi版,因此需要在Delphi中一一声明DLL中的各个函数和变量。文中详细介绍了如何利用VFW在Delphi中开发视频捕获程序的步骤,同时给岀了程序实例。1引言视频捕获与实吋处理是口前图像处理系统屮最关键的技术之-,能否准确捕获指定的视频图像,进而实现精确地数据分析与处理

2、,关系到整个系统的成败。笔者在开发“公路安全线轧压检测系统”时就遇到此情况。该系统主耍研究在公路关键地段,过往机动车辆是否瞬间轧压黄色安全线。因此车辆轧压安全线的一个主要原因是车辆超车或逆向行使而违反了上下行规则,这是造成交通事故的最主要、最直接的因素。木系统通过实吋拍摄,抓取瞬间图像,并经过系统的分析和处理來及时准确地检测车辆行驶情况,从而驱动控制设备以作出相关处理。显然,这个系统的关键Z处是实时捕获视频图像。为此,采用微软公司推出的关于数字视频的一个软件包VFWo它能使应用程序通过数字化设备从传统的模拟视频源得到数字化的视频剪辑。VFW的一个关键思想是播放时不需要专用硬件。为

3、了解决数字视频数据量大的问题,需耍对数据进行压缩,而VFW引进了AVI的文件标准。该标准未规定如何对视频进行捕获、压缩及播放,仅规定视频和音频该如何存储在硬盘上及在AVI文件小交替存储视频帧和与Z相匹配的音频数据。但VFW可使程序员通过发送消息或设置属性来捕获、播放和编辑视频剪辑。当用户在安装VFW时,安装程序会口动地安装配置视频所需要的组件,如设备驱动程序、视频压缩程序等。VFW主要由6个模块组成。具体如表1所列。表1VFW功能模块模块功能AV1CAP.DLL包含执行视频捕获的函数,它给AV1文件的1/0处理和视频、咅频设备驱动程序提供一个高级接口MSVIDEO.DLL包含一套

4、特殊的DrawDib函数,用来处理屏幕上的视频操作MCTAVT.DRV包括对VFW的MCT命令解释器的驱动程序AVIFILE.DLL包含由标准多媒体l/0(mmio)函数提供的更高的命令,用来访问.AVI文件ICM压缩管理器,用于管理的视频压缩/解压缩的编译码器(Codec)ACM咅频压缩管理器,提供与ICM相似的服务,适用于波形咅频2视频捕获程序开发的基本步骤2.1使用AVICap窗口类笔者使用的是AVICap窗口类来开发视频捕获程序。AVICap类支持实吋视频流捕获和单帧捕获,并提供对视频源的控制。通常使用的MCI控件虽然也提供了数字视频服务。并为视频叠加提供了Ovcday命

5、令集等,但这些命令主要是基于文件的操作,述不能满足实时地从视频缓存屮提取数据的要求。对于使用没冇视频叠加能力的捕获卡的PC机来说,用MCI提供的命令集是无法捕获视频流的。而AVICap窗口类在捕获视频方面具有一定的优势,它能直接访问视频缓冲区,而不需要生成中间文件,因而实时性很强,效率也很高。另外,它还可将数字视频捕获到一个文件中。开发视频捕获程序主要有以下四个步骤:⑴创建“捕获窗”。在进行视频捕获之前必需要先创建一个“捕获窗”,并应以此为基础进行所有的捕获及设置操作。“捕获窗”可用AVICap窗口类的uCapCreateCaptureWindow”函数来创建,其窗口风格可设置为

6、WSCH1LD和WS_V1S1BLE参数。“捕获窗”类似于标准控件,它具有下列功能:*将视频流和音频流捕获到一个AVI文件屮;*动态地同视频和音频输入器件连接或断开;*以Overlay或Preview模式对输入的视频流进行实时显示;*在捕获时,可指定所用的文件名,并可将捕获文件的内容拷贝到另一个文件;*设置捕获速率;*显示控制视频源、视频格式及视频压缩的对话框;*创建、保存或载入调色板;*将图像和相关的调色板拷贝到剪贴板;*将捕获的单帧图像保存到DIB格式文件。(2)关联捕获窗和驱动程序单独定义的捕获窗是不能工作的,它须与一个设备相关联才能取得视频信号。用函数CapDriverC

7、onnect可使捕获窗与其设备驱动程序和关联。(3)设置视频设备的属性通过设置TcaptureParms结构变量的各个成员变量,口J以控制设备的采样频率、中断采样按键、状态彳亍为。设置好TcaptureParms结构变量后,可以用函CapCaptureSetSetup使设置生效。之后还可以用CapPreviewScale>CapPreviewRate设置预览的比例与速度,也可以直接使用设备的默认值。(4)打开预览利用函数CapOverlay口J选择是否采用叠加模式预览,以使系统资

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。