【文件属性】:
文件名称:mfc中使用opencv获取摄像头视频并显示
文件大小:1004KB
文件格式:RAR
更新时间:2016-03-04 12:32:21
mfc opencv 摄像头
一、使用DirectShow获取摄像头视频
DirectShow在Visual Studio 2005开发环境下的使用说明:
1.将CameraDS.h CameraDS.cpp复制到你的项目中;
2.将DirectShow复制到你的opencv根目录下,菜单 工具->选项->项目和解决方案->vc++目录,把..(你的opencv安装目录)/DirectShow/Include添加到“包含文件”中;
3.菜单 工具->选项->项目和解决方案->vc++目录,把..(你的opencv安装目录)/DirectShow/Lib添加到“库文件”下面。
获取摄像视频:
利用CameraDS的OpenCamera函数打开摄像头,利用QueryFrame获取每一帧。
二、使用CvvImage类显示摄像头视频
opencv的较高版本中没有CvvImage类,因此需要手动添加这个类的头文件CvvImage.h和代码文件CvvImage.cpp。
mfc界面添加一个picture控件,ID为IDC_VIEW1。
在对话框头文件中定义如下变量:
CRect rect1;
CStatic* pStc1;
CDC* pDC1;
HDC hDC1;
在对话框源文件OnInitDialog中初始化变量:
pStc1=(CStatic *)GetDlgItem(IDC_VIEW1);
pStc1->GetClientRect(&rect1;);
pDC1=pStc1->GetDC();
hDC1=pDC1->GetSafeHdc();
显示视频:
CvvImage m_CvvImage;
m_CvvImage.CopyOf(frame,frame->nChannels); //frame是视频帧
m_CvvImage.DrawToHDC(dlg->hDC1, &dlg;->rect1);
附件中包含所有必需的文件。
网友评论
- 资源用处不大。。我没看懂。
- 用过了,还可以!
- 不是个完整的工程,但有说明,可以学习
- 不错,谢谢楼主分享。正在测试中。
- 没编译看,我要找的是 只用opencv 的,这个还用了 DirectShow ,不是我想要找的,还是谢谢了
- 程序没编译通过
- 不是完整的工程,初学者可能用起来有点困难。但是资源是好资源,对于有点基础的就很有帮助。
- 如其他人所说,结构清晰很不错
- 感觉还好。但希望能有个具体的程序。
- 新手学习, 蛮不错的示例
- 很好,新手的学习例子。
- 可以用,感谢分享
- 很好很强大
- 非常好用,就是不怎么清楚啊
- 好用,就是不怎么清楚啊
- 还行,要是有个实际程序工程就更好了
- 还没具体写,不过对我这种菜鸟来说还是有源程序比较方便
- 很好,刚好用上
- 写的很详细可以用,不过运行结束会出现bug
- 很好,可是对我这种菜鸟来讲,最好有源代码和工程。
- 很不错的参考资料
- 还不错,可以将MFC和opencv结合到一起,同时可以打开camera,适合我,呵呵
- 已經成功地搭建新的文檔來使用,感謝
- 非常好用,就是不怎么清楚啊
- 要是有个工程就更好了
- 好的 介绍的很详细 很基础实用
- 好用,参考收藏,谢谢
- 很好用,说明的也很清楚,辛苦了。。
- 资源还可以,有一定价值。
- 非常好用,说明的非常清楚。