window7,Window7系统 opencv 利用DirectShow 进行视频采集的解决方案

前几日,利用OpenCV读取摄像图像,结果打不开摄像头,所以很有必要整理一下.
代码:
// Opencv_DirectShow.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include using namespace std; #include "CameraDS.h" //主题:vs2010 Opencv DirectShow 摄像头采集 //时间:2011.9.19 //简约说明: // 1、网上下载qedit.h 地址:http://www.pudn.com/downloads127/sourcecode/graph/texture_mapping/detail539001.html // 2、网上下载实例代码 地址:http://www.opencv.org.cn/index.php/%E4%BD%BF%E7%94%A8DirectShow%E9%87%87%E9%9B%86%E5%9B%BE%E5%83%8F // 3、提取CameraDS.h .cpp 和qedit.h DShow.h ,并且添加到项目中 // 4、配置Opencv环境 // 5、运行成功 // // 使用说明:(CameraDs的设计者) // 1. 将CameraDS.h CameraDS.cpp以及目录DirectShow复制到你的项目中 // 2. 菜单 Project->Settings->Settings for:(All configurations)->C/C++->Category(Preprocessor)->Additional include directories // 设置为 DirectShow/Include // 3. 菜单 Project->Settings->Settings for:(All configurations)->Link->Category(Input)->Additional library directories // 设置为 DirectShow/Lib //开启摄像头,循环读取帧 IplImage *pFrame = 0 ; //图片对象 const char * szTitle = "Camera";//窗口标题 int _tmain(int argc, _TCHAR* argv[]) { CCameraDS cameDS;//类对象 //1、考虑到已经存在了显示图像的窗口,那就不必在此驱动摄像头了,一边往下驱动那也是摄像头已被占用 if (IsWindowVisible(FindWindow(NULL,szTitle))) { return -1; } cvNamedWindow(szTitle);//创建窗口 int iCamCount = CCameraDS::CameraCount();//获取摄像头数目 cout<< "There are "<0) { cout<< "Camera "<
Tags:  window7

延伸阅读

最新评论

发表评论