最近在使用OpenCV2.3.1做视频采集时,发现OpenCV2.3.1中没有获得电脑摄像头数目的函数,本来想通过访问注册表方式,百度一下发现CameraDS类也可以实现同样的功能。操作如下:
我建的工程名为“camera”,
1,把DirectShow文件夹和CameraDS.h,CameraDS.cpp拷贝到工程里(就是放到含有原工程的.h.cpp的那个文件夹里),如果没有这个文件,可以再这个链接下载
http://download.csdn.net/detail/mjlsuccess/4535972;
2,打开camera工程,项目->camera属性->配置属性->VC++ 目录,在包含目录下添加路径D:\VS2010项目\地面站\AirRbt_V2.0.2\AirRbt\DirectShow\Include,在库目录下添加D:\VS2010项目\地面站\AirRbt_V2.0.2\AirRbt\DirectShow\Lib;
3,把CameraDS.h和CameraDS.cpp加入到工程
4,现在就可以调用CameraDS的函数了,当然你也可以使用该类进行视频采集。我只是想得到摄像头数目只需int c = CCameraDS::CameraCount();就ok了,没必要创建实例
我使用的是VS2010,其他版本的VS我也没试过,看别人的博客上好想要改一些代码。