欢迎来到天天文库
浏览记录
ID:14444795
大小:869.05 KB
页数:50页
时间:2018-07-28
《视频采集器--设计总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、福建工程学院VC++课程设计课题:视频采集器指导老师:黄旭红班级:电子1001组员:刘碧端3100204104李鑫煌3100204111沈文海3100204112郑德明3100204113王桂德3100204122陈志阳3100204123吴碧武3100204124日期:2013年3月15日49目录一、设计目的与要求3二、准备工作3三、系统分析43.1系统整体设计设计思路43.1.1、基于VC++的视频采集系统43.1.2、显示模块43.2系统的实现方法43.2.1设计方案分析43.2.2、主要类函数的实现5四、系统实现步骤9五、测试与结论14六、课程设计总结166.1
2、程序特点及功能扩展166.2独创及创新点16七、参考文献16八、附录168.1完整程序代码168.1.1CCaptureClass视频捕捉类实现文件CaptureVideo.cpp168.1.2CaptureVideo.h:headerfile308.1.3CaptureVideo.cpp:定义应用程序的类行为。328.1.4CaptureVideo.h:PROJECT_NAME应用程序的主头文件348.1.5CaptureVideoDlg.cpp:实现文件358.1.6CaptureVideoDlg.h:头文件458.2界面图478.2.1总体界面图478.2.2视频
3、格式设置488.2.3画面参数设置4849一、设计目的与要求为了轻松地记录视频和从摄像头、电视调谐卡、数码摄像机中捕捉实时图像,可利用VC++的DirectShow开发包,编写视频采集器软件系统,采集所需的图像。1.菜单式的人机界面。2.具有开始、停止、录像、抓图等功能。二、准备工作本次设计在VisualStudio2005集成开发环境下完成,利用VC++的DirectShow开发包,编写视频采集器软件系统,采集所需的图像。DirectShowSDK是Microsoft微软公司为简化或降低音/视频开发的难度而为音/视频应用开发人员定制的开发包、软件库。它是我们熟悉的Di
4、rectX家族中的一个组件,主要针对程序员开发数字音/视频程序提供支持。。使用DirectShow我们可以在很短的时间内搭建自己的视频播放、捕获和编辑应用程序,不必对有关视频硬件如显卡,视频捕获设备,视频编码算法,解码算法,音/视频数据同步等,复杂的技术做细节的掌握。另外,由于现在的视频捕获设备如USB摄像头,视频捕获卡,显卡等主流的驱动均是WDM模式。VC++开发人员自己访问、控制、读取此类设备的数据显然不是件容易的事情。DirectShow却可以很灵活地帮助我们去完成工作,即屏蔽了我们直接对硬件的操作,又可快速开发出我们自己的产品。DirectShowSDK是为多媒
5、体数据流的应用而开发的。它支持多媒体流的捕获和预览。运用Directshow,用户可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且可以进行相应的后期处理甚至存储到文件中;同时可以方便地构建影音文件的回放、编辑等操作。使用DirectShow能够完成以下工作:.音/视频多媒体流的捕获和预览。.支持多媒体格式ASF、MPEG、AVI、MP3、WAVE的回放。.集成其他DirectX技术,增强音/视频硬件如声卡、显卡的性能。.视频文件的回放、非线性吧,编辑等。.支持DVD等设备。49.定制自己的Filter。三、系统分析3.1系统整体设计设计思路3.1.1、基于VC+
6、+的视频采集系统基于VC++的视频采集系统文件视频保存图片保存播放、停止参数设置显示模块3.1.2、显示模块前端显示录像抓图开始、停止3.2系统的实现方法3.2.1设计方案分析3-1系统框图49USB视频捕捉设备输入视频流,经过SmartTee分流成两路,一路流向AVIMux混频器最终保存为avi视频文件。另一路通过AVIDecompressor视频解码器输出到电脑显示器VideoRender。整个方案实现了“视频监控”与“文件保存”的同时进行。3.2.2、主要类函数的实现3.2.2.1采集设备的枚举使用采集设备前,需要首先确定系统己经安装的采集设备:视频、音频采集设备
7、。系统设备枚举器为按类型枚举已注册在系统中的滤波器提供了统一的方法。而且它能够区分不同的硬件设备。当利用系统设备枚举器查询设备的时候,系统设备枚举器为特定类型的设备(如音频捕获和视频压缩)牛成了一张枚举表.类型枚举器为每个这种类型的设备返回一个Moniker,类型枚举器自动把每种即插即用的设备包含在内。调用标准方法生成系统设备枚举器,类标识,代码如下:intCCaptureClass::EnumDevices(HWNDhList){if(!hList)return-1;intid=0;ICreateDevEnum*pCreateDevEn
此文档下载收益归作者所有