基于VC++的视频采集系统的开发.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于VC++的视频采集系统的开发杂基于VC++的视频采集系统的开发   摘要: 2010年,“ 谷歌退出中国”事件引起了全世界的哗然,虽然在最后,单方面宣布的“退出”事件所表现出来实乃谷歌的一闹剧,但给数以亿的中国的网民的思考是深刻的,给许多的中国互联网络公司是具有极大的挑战意义。现在,科技发展突飞猛进,计算机网络技术也是高速发展,带给中国国际互联网软件公司极大的发展机遇,也给中国许多的计算机软件公司发展的巨大空间。   关键词: VC 视频 采集 系统   在世界金融危机过后,各国尤其是中国人民生活水平的不断提高,以前那种只靠简单的文字、声音进行交流的方式已经不能满足当今许多网民的要求,以可视电话、视频会议、网络监控、视频广播等技术为代表的多媒体技术蓬勃发展起来,成为当今社会的研究热点。这其中的很重要的一项技术就是把静态和动态的图像以原始状态捕捉下来——视频采集。   视频采集系统的应用领域越来越广泛,视频采集以其直观、方便、信息内容丰富而广泛应用于许多场合。银行,酒店,停车场、车站,十字路口,小区门口等等都应用到了这一项技术。实时、高品质的图像和视频给使用者带来了更直观、更感性的认识。因此视频采集技术的重要性渐渐体现出来。随着社会的快速发展,视频技术在以后的生产生活中的运用会更加广泛。   一、基于VC++的视频采集系统的开发原理及分析   基于VC++的视频采集系统的开发系统应用软件的底层,需要极好的兼容性和稳定性。对于广大用户而言,与系统的交互是通过应用程序实现的,因此,如何设计出运行效率高、界面友好、稳定性高的视频采集系统的应用程序是至关重要的因素。   (一)、基于VC++的视频采集系统的开发实现原理   基于VC++的视频采集系统的开发,首先要用函数capCreateCaptureWindowA创建一个视频采集窗口,然后向视频采集窗口发送相应的消息,实现视频设备的连接、回调函数设置、预览比例和速率设置、预览和叠加模式的设置、图像文件设置等操作。如果以上操作成功,就可以通过视频设备采集图像了。回调函数由程序员编写,用于特殊的视频采集中,例如,在视频会议中用回调函数将采集的视频和音频实时地传递到远程计算机中。   在VC++中,头文件VFW.H中不仅包含了AVICAP.DLL中函数的原型定义,还定义了与视频采集有关的数据结构、消息和发送消息的宏。利用这些函数、数据结构、消息和发送消息的宏可以方便地编写图像采集程序,如果要对采集的图像实时处理,可以通过编写回调函数实现。   (二)、基于VC++的视频采集系统的开发的实例分析   为了说明实现的方法和技巧,采用USB接口的摄像头作为视频采集设备,在VC++中以实现采集一副图像为例说明。 在VC++中创建一个基于MFC的单文档应用程序,工程名为“Video”,按照以下步骤完成:   (1)在VideoView.h的首部加入语句:#include Vfw.h   (2)打开“Project Settings”对话框,选择“Link”选项卡,在“Object/library modules”中输入“vfw32.lib”。 (3)在VideoView.h中对类CVideoView加入私有成员变量Hwndcap: private: //视频采集窗口的句柄,HWND Hwndcap。   (4)在Resources面板中单击“Menu”,双击“IDR_MAINFRAME”,添加菜单项“采集”。在“采集”下加入子菜单项“采集图像”和“保存BMP”,它们的ID分别设为“ID_CAP_BMP”和“ID_SAVE_BMP”。   (5)在MFC ClassWizard中,选择“Message Map”选项卡,在下拉列表框“Class name”中选择“CVideoView”,在列表框“Object IDs”中选择“ID_CAP_BMP”,在列表框“Messages”中选择“Command”,单击“Add Function”按钮添加成员函数OnCapBmp(),按照同样方法为“ID_SAVE_BMP”响应消息“Command”添加成员函数OnSaveBmp()。再按照同样方法为“CVideoView”响应消息“WM_SIZE” 添加成员函数OnSize()。  (6)在类“CVideoView”的构造函数中加入:Hwndcap=NULL;  (7)在类“CVideoView”的成员函数OnCapBmp()中加入以下代码:   CRect WRect; //取得主窗口客户区域的位置和大小   GetClientRect(WRect); //创建视频采集窗口   Hwndcap=capCreateCaptureWindow( LPSTR) 采集图像,   WS_CHILD

您可能关注的文档

文档评论(0)

2749166188 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档