1.4 当今主流图像捕获方法简介
当前,在Windows平台下实现视频捕获与处理的方法一般采用两种方法:一种是利用视频采集卡所附带的SDK开发工具,此方法的实现依赖于采集卡和摄像头等硬件的类型,不利于灵活应用;另一种就是利用VFW和AVICap编程实现视频捕获和图像处理,此方法与硬件无关,且有VC++6.0的支持,易于实现。VFW是由Microsoft公司1992年推出的专门用于实时视频捕获开发的工具包,它能使应用程序数字化并播放从传统模拟视频源得到的视频剪辑。VFW的一个关键思想是播放时不需要专用硬件,为了解决数字视频数据量大地问题,需要对数据进行压缩。它引进了一种叫AVI的文件标准,该标准未规定如何对视频进行捕获、压缩和播放,仅规定视频和音频该如何储存在硬盘上,在AVI文件中交替存储视频帧和与之相匹配的音频数据。AVICap支持实时的视频捕获和单帧捕获并提供对视频源的控制。在视频捕获之前需要创建一个捕获窗,所有的捕获操作及其设置都以它为基础。用AVICap窗口类创建的窗口被称为“捕获窗”,其风格一般为WS_CHILD和WS_VISIBLE。
1.5 本文研究内容及论文章节安排
本文研究的主要内容是设计和实现一种基于USB摄像头的视频图像捕捉方法,并对所捕获的图像做一些简单的处理。其中第二章主要介绍实现图像捕获和处理功能所要用到的一些工具和捕获程序运行的编译环境。第三章具体介绍了图像捕获功能的设计原理与实现方法。第四章介绍了对捕获图像的简单处理和移动物体测速功能的实现。
2 设计研究的工具环境
2.1 MFC 的绘图类
C语言是拥有着优良传统的程序语言,对于讲求速率与性能的应用程序而言,Visual C++在这种程序开发上具有绝对的优势。他开发出的程序在执行的速度上是毋庸置疑的,即使是需要很复杂的图像处理运算的程序,在执行时仍然相当的顺畅。在C语言中可以以指针来直接存取系统上的内存,C语言也提供了许多有关内存处理的函数,而Java等其他程序语言他们本身都会自动的来为程序管理内存,以防止发生内存存取不当而造成错误或者系统死机,这样简洁管理内存的方式虽然安全,但相对较耗费时间。MFC类函数库是整合在Visual C++中的一套完整且庞大的类函数库,使用MFC可以让程序设计人员很轻易地就构建出应用程序的主干,简化了使用Windows API开发程序的难度。
GDI(Graphic Device Interface)的中文译为“图形设备接口”,MFC的GDI中包含了各种绘图类并提供各类绘图函数。
图2.1 MFC绘图函数
由上图可看出各个MFC的GDI类都是继承“CGdiObject”类而来,这些类还必须在配合“设备描述表(DC)”使用,下面的表介绍了这些类的主要用途及概念。
表2.1 GDI类函数
类 功能说明
CBitmap 建立与控制位图对象
CBrush 建立与控制画刷对象,画刷是图形中填满的模式
CFont 建立与控制字体对象
CPalette 建立与控制调色板对象
CPen 建立与控制画笔对象,画笔为图形边界的模式
CRgn 建立与控制GDI绘图设备区域对象
MFC把各种不同的DC类封装在“CDC”类里,并提供了多种与绘图有关的函数,下图是CDC类与其延伸子类的内容。
图2.2 CDC类组成图
- 上一篇:工业内窥镜测量技术研究+文献综述
- 下一篇:基片集成波导馈电的电磁互补偶极子天线研究
-
-
-
-
-
-
-
乳业同业并购式全产业链...
java+mysql车辆管理系统的设计+源代码
酸性水汽提装置总汽提塔设计+CAD图纸
十二层带中心支撑钢结构...
电站锅炉暖风器设计任务书
大众媒体对公共政策制定的影响
中考体育项目与体育教学合理结合的研究
杂拟谷盗体内共生菌沃尔...
河岸冲刷和泥沙淤积的监测国内外研究现状
当代大学生慈善意识研究+文献综述