opencv 3.0 打开摄像头读视频(度申FM036和Basler acA640-90gc)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/daniu2007/article/details/43908719

最近在编写用opencv从摄像头获取图片并处理的程序,折腾了好几天,今天中午放弃习惯性的午休,终于柳暗花明了!opencv <wbr>3.0 <wbr>打开摄像头读视频(度申FM036和Basler <wbr>acA640-90gc)

    话说用3.0最大的障碍就是参考资料太少了啦,有时候之前的版本顺理成章的事在新版本行不通,又找不到相关的解决办法真的很苦恼,几次都像重装回之前的版本。但一想,新的版本一定有他的独到之处,有继续折腾了。

    手头有深圳度申科技的工业USB相机(CM036)和Basler acA640-90gc千兆网接口相机,都是自带驱动和开发包。以前都在用相机制造商提供的例程上做修改写程序,但眼馋于opencv的种种优势,决定进行尝试。通过参考书籍和网上的资料,早期版本opencv获取摄像头主要是用CvCapture类和CvCam库。

    CvCam库早就被弃用了,于是只能用CvCapture类了。可能是版本原因,我用OpenCV3.0 的CvCapture类读取笔记本自带的摄像头没问题,但读取度申相机和Baser相机怎么都不行,用cvCaptureFromCAM和cvCaptureFromCAM都试了,并且更改过相机索引号,-1、0、1都试过,只能读取笔记本的摄像头。

    也有很多人说用directshow,但尝试一下没成功,看起来比较麻烦,暂且搁置,作为备选方案。

    上网查资料时,有人说只能读那种插上电脑就能打开的摄像头,心里凉了半截。但由于之前听说过别人用opencv读过千兆网工业相机,所以没有灰心放弃。最终中午在网上海搜是发现这篇博文:http://blog.csdn.net/thefutureisour/article/details/7530177

    问题解决啦!其中:用度申相机是“VideoCapture cap(0);”改为VideoCapture cap(1);”。两个相机程序都能正常运行。这样读取就非常方便了opencv <wbr>3.0 <wbr>打开摄像头读视频(度申FM036和Basler <wbr>acA640-90gc)

   


    


猜你喜欢

转载自blog.csdn.net/daniu2007/article/details/43908719