用VC++60实现视频捕捉.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用VC60实现视频捕捉

用VC++ 6.0实现视频捕捉 一、Vedio for Windows 简介 [ 转自铁血社区 / ]   Vedio for Windows 是WIN32 SDK 中多媒体编程SDK 的视频开发工具。在微软的Visual C ++中提供了Vedio for Windows 的头文件vfw.h 和库文件vfw32.lib。表1 列出了VFW 中视频捕捉编程常用的一些VFW 函数和宏。   二、用VC ++6.0 实现视频捕捉的编程实例   笔者前不久刚刚用VC ++6.0 完成了一套光学自动报靶系统的开发,该系统的前端用到了视频捕捉。下面结合这部分实例,说明对视频捕捉编程的具体实现方法。   1、用Visual C ++的AppWizard 生成一个基于对话框的应用程序,并在SrdAfx.h 中加入以下内容:         #include vfw.h         #pragma comment(lib,vfw32.lib)   2、修改对话框资源,添加静态控制IDC_VIDEO 和按钮“捕捉”、“停止”、“设置格式”、“设置图像源”、“设置压缩”、“单帧捕获”、“定帧”、“退出”。   3、在对话框的头文件中加入以下说明。      HWND m_hCapWnd;// 预示窗口       BOOL m_bInit;// 捕捉器初始化 CAPDRIVERCAPS m_CapDrvCap;// CAP DRIVERCAPS 结构,定义驱动器性能 CAPSTATUS m_CapStatus;// CAPSTATUS 结构,定义捕捉窗口当前状态 CAPTUREPARMS m_Parms; // CAPTURE PARMS 结构,定义捕捉参数 CString m_CapFileName;// 捕捉文件名称   4、在对话框类的OnInitDialog() 函数中加入捕捉器初始化以及连接驱动器。  m_bInit=FALSE;  CWnd *pWnd=AfxGetMainWnd() -GetDlgItem (IDC_VIDEO); // 得到预示窗口指针  CRect rect;  pWnd -GetWindowRect( &rect); // 得到窗口大小  m_hCapWnd=capCreateCaptureWindow   ((LPTSTR)TEXT(视频捕捉测试程序),   WS_CHILD|WS_VISIBLE|WS_EX_CLIENTEDGE| WS_EX_DLGMODALFRAME,0,0,rect.Width(),rect.Width(), pWnd -GetSafeHwnd(),0); // 设置预示窗口       ASSERT(m_hCapWnd);       if(capDriverConnect(m_hCapWnd,0)){  // 连接第0 号驱动器      m_bInit=TRUE;     // 得到驱动器的性能       capDriverGetCaps(m_hCapWnd,sizeof          (CAPDRIVE  RCAPS), &m_CapDrvCap);      if(m_CapDrvCap.fCaptureInitialized){          // 如果初始化成功 capGetStatus(m_hCapWnd, &m_CapStatus,sizeof (m_CapStatus)); // 得到驱动器状态 capPreviewRate(m_hCapWnd,30); // 设置预示帧频 capPreview(m_hCapWnd,TRUE); // 设置预示方式  }  else{// 初始化未成功  AfxMessageBox(视频捕捉卡初始化失败!);  AfxGetMainWnd() -PostMessage (WM_CLOSE); }       } else{// 未能连接到驱动器        AfxMessageBox (与视频捕捉卡连接失败!);        AfxGetMainWnd() -PostMessage (WM_CLOSE);       } m_CapFileName=c:\\Capture.avi;// 设置捕获文件    capFileSetCaptureFile(m_hCapWnd,m_CapFile Name.GetBuffer(255));   5、在对话框类中加入响应“设置格式”消息的函数OnFormat()。   capDlgVideoFormat(m_hCapWnd);   // 设置格式对话框   6、在对话

文档评论(0)

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

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

1亿VIP精品文档

相关文档