综合课程设计报告正文及参考文献2015
《综合课程设计报告正文及参考文献2015》由会员分享,可在线阅读,更多相关《综合课程设计报告正文及参考文献2015(8页珍藏版)》请在装配图网上搜索。
1、南京理工大学控制系统综合课程设计报告姓 名 : 周宇浩 学 号: 912110200339学院係):自动化专业:自动化指导教师:戚国庆基于VFW的视频图像采集与回放摘要:随着网络和信息技术的日益深入以及广泛应用,人们对于多媒体技术的需求越 来越高,其中视频采集技术是其中的关键环节。Windows系统为视频采集提供 了多种实现技术,比如在MCI (多媒体控制接口)发展起来的VFW(Video for windows)和 DirectShow 技术。本实验通过研究 VFW 技术结构和分析 AVIcap 类的视频采集原理,在 windows 的VC+6.0编程环境中实现了对视频设备的枚举和采集,灰度
2、化并预览视频的 一些功能。关键词:视频采集 VFW VC+ 灰度化引言: 视频图像的采集与处理在现今的图像处理系统中占有重要地位。微软推出的 VFW 是关于数字视频的一个开发包,优点是不依赖任何硬件,提供了标准的开 发接口,使得开发过程变得方便快捷,尤其适用于现在的USB接口的各种摄像 头。1、VFW 结构和开发环境简介VFW主要由以下六个模块组成:(1)AVICAP.DLL:包含了执行视频捕获的函数,它给AVI文件I/O和视频、音频设 备驱动程序提供一个高级接口;(2)MSVIDEO.DLL:用一套特殊的DrawDib函数来处理屏幕上的视频操作;(3)MCIAVI.DRV:此驱动程序包括对V
3、FW的MCI命令的解释器(4)AVIFILE.DLL:支持由标准多媒体I/O (mmio)函数提供的更高的命令来访问.AVI 文件;(5)压缩管理器(ICM):管理用于视频压缩一解压缩的编解码器(CODEC);(6)音频压缩管理器ACM:提供与ICM相似的服务,不同的是它适于波形音频。在 VC+ 开发环境中调用 VFW 和使用其它开发包没有什么不同,只是需要将 VFW32.lib 文件加入工程中,但在开放视频捕捉与压缩管理程序时需要其它软件硬件 设置。VFW为AVI文件提供了丰富的处理函数和宏定义,AVI文件的特点在于它是典 型的数据流文件,它由视频流、音频流、文本流组成。所以对AVI文件的处
4、理主要是 处理文件流。计算机系统:win7, 64位旗舰版,开发环境:VC+6.0,由于使用了 VFW开发包, 所以要在头文件里面加上 #include 和#pragma commen t(lib,vfw32.lib)2、枚举计算机采集设备枚举采集设备主要通过 capGetDriverDescription 函数来实现。可以通过循环枚 举索引值为 0-9 时函数的返回值,如果返回为真则此索引对应的设备存在,就可以 获得设备的描述信息。流程如下:St epl:定义设备名称和版本号Step2 :设置0-9的循环Step3:如果设备返回值为True,则添加驱动器名称到列表组合框中用capGetDri
5、verDescription函数去获取机器上安装的捕捉驱动的名字和版本char szDeviceName80;/用来存放设备名称char szDeviceVersion80;/用来存放驱动版本 for(wIndex=0;wIndexl0;wIndex+)if(capGetDriverDescription(wIndex,szDeviceName,sizeof(szDeviceName), szDeviceVersVersion, sizeof(szDeviceVersion)/wIndex:索引号/ 把驱动的名字添加到一个 list 里面,来供使用者选取3、视频源连接及视频预览首先通过 cap
6、CreateCaptureWindow 函数来创建一个采集窗体 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, T
7、RUE);这样,就完成了视频预览4、视频灰度化灰度图就是只包含亮度不包含色彩信息的图像。计算机把亮度值进行量化分成 0-255 共 256 个级别,其中 0 最暗,255 最亮。对于 RGB 图像进行灰度化,就是对图 像的RGB三个分量进行加权平均得到最终的灰度值。一般有:1)加权平均法:Gray=B; Gray二G; Gray=R,即用R、G、B三个分量以不同的权值进行加权平均;(2)最大值法 Gray二max(B+G+R),将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。(3) 平均值法: Gray=(B+G+R)/3 将彩色图像中的三分量亮度求平均值得到一个灰度图。灰度化视频预览的实
8、现步骤为:St epl:通过回调函数读取采集设备中的每一帧的位图;St ep2:采用灰度化算法将位图灰度化;St ep3 :把灰度化以后的数据写入图片矩阵;St ep4:不断的将灰度化以后的图像刷新到灰度化预览区域实现灰度化预览。部分代码如下:(matlab)x=imread(c:test1.jpg); %读取 RGB 格式的图像 y1=rgb2gray(x); %用已有的函数进行 RGB 到灰度图像的转换 rows , cols , colors = size(x); %得到原来图像的矩阵的参数 y2=zeros(rows,cols); %用得到的参数创建一个全零的矩阵,这个矩 %阵用来存储
9、用下面的方法 产生的灰度图像y2=uint8(y2); %将创建的全零矩阵转化为 uint8 格式,因%为用上面的语句创建之后图像是 double 型的y3=zeros(rows,cols); y3=uint8(y3);for i=1:rowsfor j=1:colssum1=0;sum2=0;for k=1:colorssum1=sum1+x(i,j,k)/3;% 用均值法进行 RGB 到 % 灰度图像的转换 sum2=sum2+max(x(i,j,k) %用最大值法进行 %RGB 到灰度图像转换 end y2(i,j)=sum1;% 将得到的加权平均值作为对应像素点的灰度值 y3(i,j)
10、=sum2;% 将得到的简单平均值作为对应像素点的灰度值endendimwrite(y1,c:testlan1.jpg); %将转换后图像以 bmp 格式写入文件 1 imwrite(y2,c:testlan2.jpg); %将转换后图像以 bmp 格式写入文件 2 imwrite(y3,c:testlan3.jpg); %将转换后图像以 bmp 格式写入文件 3 subplot(2,1,1); %显示第 1 幅图像 imshow(x); %显示原来的 RGB 图像 subplot(2,2,2); %显示第 2 幅图像imshow(y1,256); %显示经过系统函数运算过的灰度图像 subp
11、lot(2,1,1); %显示第 3 幅图像imshow(y2,256); %显示均值法转化之后的灰度图像 subplot(2,2,1); %显示第 4 幅图像imshow(y3,256); %显示最大值法转化之后的灰度图像5、总结与展望本人通过对 VFW 开发包的研究,掌握了一些图像处理的基础理论和实现方法,学 习了有关VC+的编程方法,设计了基于VFW的视频图像采集与回放实验,并取得了 良好的实验效果。总结全文,主要做了以下工作:1、资料查阅:通过查阅国内外视频技术的发展和应用范围的资料,明确了本实验 的提出意义和设计目标;2、编程方面:认真学习了 VC+面向对象的编程方法,在熟悉VC+的
12、编程环境后, 重点研究了 VFW技术关于实现视频图像采集技术的实现和VC+关于图像处 理算法的编程方式;3、图像处理:对图像处理中经典的算法进行研究、探讨和分析。在深入理解算法 的基础上,把算法转化为计算机语言,并在 VC+6.0 环境下编译,进而让计算 机对图像进行处理,主要是做了图像灰度化算法。鉴于视频图像采集及处理系统的内容丰富,而且时间有限,本次实验难以达到预想的完备性和创造性的要求,还有待进一步完善和发展: 1、只实现了简单的视 频预览,未涉及到视频存储以及视频的编码解码;2、只实现了简单的图像算法, 还需对复杂的图像算法做进一步的研究。3、在灰度化过程中,由于在vc+6.0的 环境
13、下需要用到回调函数得到每一帧图片的信息,这次实验的时间比较匆忙加上 自己对这方面的不熟悉,并没有能够在 vc+6.0 编译环境中实现灰度化,而是在 matlab 软件中实现了对静态图片的灰度化处理。虽然编译的环境不同,但是我觉 得基本的原理还是相同的。而且matlab中有比vfw更丰富的函数数据库,所以操 作起来要更方便快捷一些。希望以后能够对以上不足方面努力钻研,增强知识面 的广度和深度,能够应用到实际的开发需求当中去。参考文献1 刘直芳,王运琼,朱敏.数字图像处理与分析M.北京:清华人学出版社,2006.2 张宏林.精通Visual C+数字图像处理典型算法及实现M.北京:人民邮电出 版社,2008.3 马兰,万棣精通Visual C+:视频、音频编解码技术M.人民邮电出版社,2008.4 彭佩.基于VFW的视频媒体捕捉方法的实现J.电脑知识与技术:2006: 160-161.5 李江华,谢红,王晓丹基于VFW实时视频捕获原理与实现j.应用科 技:2005(32):9.6 徐从东,罗家融,王树坤.基于VFW的视频图像叠加与播放方法j.计算机工程与 设计:2007(28):100-102
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2013急性胰腺炎诊治
- 2013届高考文科数学总复习(第1轮)广西专版课件:6.2均值不等式
- 2013健康宣教
- 2013届高考理科数学总复习(第1轮)全国版课件:6.6不等式的应用
- 2013届高考数学一轮复习讲义:第七章7.4 基本不等式及其应用
- 2013高考总复习江苏专用(理科):第七篇 不等式《第42讲 基本不等式及其应用(2)》课件
- 新版PEP小学五年级英语上册Unit5ALet27stalk课件
- 2013关于糖尿病和慢性肾脏疾病最新临床
- 2013公共卫生服务慢病管理项目培训
- 2013技能讲义
- 2013届高考生物一轮复习课件:基因在染色体上与伴性遗传
- 2013冠状动脉粥样硬化性心脏病
- 2013高血压
- 2013高考数学专题二 函数、导数及其应用《第十二节 导数在研究函数中的应用与生活中的优化问题举例 》
- 2013高考数学(文)二轮复习课件(解析版):专题1 集合与常用逻辑用语、函数与导数、不等式(新课标)