码迷,mamicode.com
首页 > 其他好文 > 详细

OpenCV打不开摄像头的替代解决方案

时间:2014-09-17 00:59:31      阅读:530      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   使用   ar   for   文件   2014   sp   

一般来说,opencv要打开摄像头的话,可以使用:VideoCapture captRefrnc(0); 这类方式。

 

重装系统之后,为了避免安装巨大的visual studio,改成了codeblocks,另外opencv也采用cmake+codeblocks的方式编译而成,但是采用默认设置编译出来的opencv无法开启笔记本电脑的摄像头,尝试其他解决方法之后,想到了之前用过的 K-Lite Codec Pack 配合avisynth编写avs脚本解决解码器的思路,利用K-Lite Codec Pack+avs脚本来打开摄像头。

 

如果你也遇到opencv无法打开摄像头问题而无法解决,不妨尝试这种方案。

 

准备工作:

1:安装K-Lite Codec Pack,选择full版本安装,这样可以得到后续要用的GraphStudioNext

http://www.codecguide.com/download_kl.htm

 

2:安装avisynth

http://sourceforge.net/projects/avisynth2/files/AviSynth%202.5/

 

3:安装avisynth-as-directshow-capture

https://github.com/rdp-org/avisynth-as-directshow-capture

 

安装完成之后,打开GraphStudioNext

 

 bubuko.com,布布扣

进入程序后,用Ctrl+F快捷键,或者点击Graph->Insert Filter

找到你的摄像头,一般来说会有cam关键字,我的叫做Intergrated Webcam,选择它,并点击insert

bubuko.com,布布扣

选择好你的Cam,之后用File->Save As Graph,保存出.grf文件,比如我的是:E:\cam.avs

bubuko.com,布布扣

bubuko.com,布布扣

下一步便是编写avs脚本打开这个grf文件就行了

打开记事本,输入directshowsource("E:\cam.GRF", audio=False, framecount=1000000, fps=10) 

保存成filename.avs

之后用Media player classic打开这个文件测试是否成功,如果能用Media player classic 打开摄像头就是成功了。

bubuko.com,布布扣

 

之后只需要像打开视频文件一样在opencv里打开这个avs文件就可以了:

VideoCapture captRefrnc("E:\cam.avs");

OpenCV打不开摄像头的替代解决方案

标签:blog   http   io   使用   ar   for   文件   2014   sp   

原文地址:http://www.cnblogs.com/Lyn1993/p/3976102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!