- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
南 京 理 工 大 学
控制系统综合课程设计报告
姓 名: 周宇浩 学 号: 912110200339 学院(系): 自动化 专 业: 自动化 指导教师: 戚国庆
指导教师评语:
综合评定成绩:
签名:
年 月 日
基于VFW的视频图像采集与回放
摘要:随着网络和信息技术的日益深入以及广泛应用,人们对于多媒体技术的需求越来越高,其中视频采集技术是其中的关键环节。Windows系统为视频采集提供了多种实现技术,比如在MCI(多媒体控制接口)发展起来的VFW(Video for windows)和DirectShow技术。
本实验通过研究VFW技术结构和分析AVIcap类的视频采集原理,在windows的VC++6.0编程环境中实现了对视频设备的枚举和采集,灰度化并预览视频的一些功能。
关键词:视频采集 VFW VC++ 灰度化
引言: 视频图像的采集与处理在现今的图像处理系统中占有重要地位。微软推出的VFW是关于数字视频的一个开发包,优点是不依赖任何硬件,提供了标准的开发接口,使得开发过程变得方便快捷,尤其适用于现在的USB接口的各种摄像头。
1、VFW结构和开发环境简介
VFW主要由以下六个模块组成:
(1)AVICAP.DLL:包含了执行视频捕获的函数,它给AVI文件I/O和视频、音频设备驱动程序提供一个高级接口;
(2)MSVIDEO.DLL:用一套特殊的DrawDib函数来处理屏幕上的视频操作;
(3)MCIAVI.DRV:此驱动程序包括对VFW的MCI命令的解释器
(4)AVIFILE.DLL:支持由标准多媒体I/O(mmio)函数提供的更高的命令来访问.AVI文件;
(5)压缩管理器(ICM):管理用于视频压缩-解压缩的编解码器(CODEC);
(6)音频压缩管理器ACM:提供与ICM相似的服务,不同的是它适于波形音频。
在VC++开发环境中调用VFW和使用其它开发包没有什么不同,只是需要将VFW32.lib文件加入工程中,但在开放视频捕捉与压缩管理程序时需要其它软件硬件设置。VFW为AVI文件提供了丰富的处理函数和宏定义,AVI文件的特点在于它是典型的数据流文件,它由视频流、音频流、文本流组成。所以对AVI文件的处理主要是处理文件流。
计算机系统:win7,64位旗舰版,开发环境:VC++6.0,由于使用了VFW开发包,所以要在头文件里面加上#include vfw.h 和#pragma comment(lib,vfw32.lib)
2、枚举计算机采集设备
枚举采集设备主要通过capGetDriverDescription函数来实现。可以通过循环枚举索引值为 0-9 时函数的返回值,如果返回为真则此索引对应的设备存在,就可以获得设备的描述信息。流程如下:
Step1:定义设备名称和版本号
Step2:设置0-9的循环
Step3:如果设备返回值为True,则添加驱动器名称到列表组合框中
用capGetDriverDescription函数去获取机器上安装的捕捉驱动的名字和版
本
char szDeviceName[80];//用来存放设备名称
char szDeviceVersion[80];//用来存放驱动版本
for(wIndex=0;wIndex10;wIndex++)
{
if(capGetDriverDescription(wIndex,szDeviceName,sizeof(szDeviceName),
szDeviceVersVersion,sizeof(szDeviceVersion))
//wIndex:索引号
{
//把驱动的名字添加到一个list里面,来供使用者选取;
}
}
3、视频源连接及视频预览
首先通过capCreateCaptureWindow函数来创建一个采集窗体:
m_hWndVideo = capCreateCaptureWindow (
Mycap // 窗口名称
WS_CHILD | WS_VISIBLE, //窗口类型
150, 40, 250, 250, //窗口位置和尺寸
m_hWnd, //父窗口的句柄
0 //窗口的ID号)
然后将创建的窗体连接到视频设备驱动上:
m_flag = capDriverConnect (m_hWndVideo, 0)
最后是设置帧数和显示方式:
capPreviewRate (m_hWndVideo, 20);
CapPreview (m_hWndVideo, TRUE);
这样,就完
您可能关注的文档
最近下载
- 第六届医学院校青年教师教学基本功比赛哈尔滨医科大学-姜洋.pdf
- 甲状腺功能亢进症诊疗指南(2023年实践版).pptx VIP
- TBT3065-2002 弹条Ⅱ型扣件(第1-2部分).docx VIP
- 人员招收、招聘来源及人员稳定性保障措施.docx VIP
- 2025年云南省职教高考《思想政治》真题试卷(含答案解析).docx VIP
- DB50∕T 990-2020 地质灾害治理工程施工质量验收规范.docx
- 外研版八年级上册英语阅读理解60套含参考答案.pdf VIP
- 中央预算内投资项目资金申报指南.docx VIP
- 9-能量隔离上锁挂签标准培训课件.pdf VIP
- 《工程化学基础》第2章17114.ppt VIP
文档评论(0)