OpenCV捕获USB摄像头

weikey21 2012-08-20 10:47:42
初学OpenCV,按照示例写了一个OpenCV捕获USB摄像头的程序,在笔记本上调试通过有画面,但用USB摄像头在台式机上就只有灰色图像一闪而过。上网搜了一圈,基本可以确认以下几点:

1.程序没问题,因为是示例,而且在笔记本内置摄像头调试通过,正常显示;

2.USB摄像头驱动没问题,QQ视频检测通过;

3.单步调试USB摄像头,发现cvQueryFrame的返回值为空,但cvCaptureFromCAM返回值有效,这说明程序成功捕获摄像头,但未能成功提取每一帧的图像;

4.查了一些资料,说是OpenCV只能操作vfw驱动的摄像头,不能操作dirctshow的摄像头。

现在一头雾水,求高手支招,不胜感激!!!
...全文
980 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
pretend_b 2014-03-31
  • 打赏
  • 举报
回复
9楼是对的~~~
xuchenglu 2014-03-19
  • 打赏
  • 举报
回复
不知道楼主找到方法没,我现在也遇到了,晕啊
jgc1172498035 2014-02-27
  • 打赏
  • 举报
回复
顶9楼!!!!!!!!!!!!!!
eastlhu 2014-01-28
  • 打赏
  • 举报
回复
我也跟你一样的问题,今天解决了。你在进入while循环的前面sleep(2000),大概睡眠几秒钟的样子,就可以了。因为usb或者你笔记本的摄像头没那么快初始化,所以,第一帧的时候,获取的帧为空,直接break了、
zylwfw 2013-07-17
  • 打赏
  • 举报
回复
遇到了同样的问题,不知现在有人解决掉没
赵4老师 2012-08-21
  • 打赏
  • 举报
回复
更新摄像头驱动
weikey21 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
将所有OpenCV的dll全部拷贝到exe所在目录。
[/Quote]
OpenCV的所有DLL我都已经添加到system32目录了,即使拷贝到EXE所在目录下也不行,这个应该只影响编译,可我编译都通过了,在笔记本自带摄像头上都能看到画面,只是在台式机上用USB摄像头就看不到画面。
赵4老师 2012-08-21
  • 打赏
  • 举报
回复
那就下载一个号称通用的驱动安装试试。
weikey21 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
更新摄像头驱动
[/Quote]
问题是这个USB摄像头是不用装驱动的,不知道怎么更新驱动,也不知道该更新为哪个驱动。
赵4老师 2012-08-20
  • 打赏
  • 举报
回复
将所有OpenCV的dll全部拷贝到exe所在目录。
weikey21 2012-08-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
一般摄像头输出的视频祯都是压缩过的,cvQueryFrame函数会涉及到解压的过程,这里需要调用你本地的解码器,应该是没有找到相应的的解码器,可以试着安装xvid和ffmpeg等试试看。
[/Quote]
我电脑装了xvid,但还是没有画面,ffmpeg没见过,一会儿试试看,谢谢!
图灵狗 2012-08-20
  • 打赏
  • 举报
回复
一般摄像头输出的视频祯都是压缩过的,cvQueryFrame函数会涉及到解压的过程,这里需要调用你本地的解码器,应该是没有找到相应的的解码器,可以试着安装xvid和ffmpeg等试试看。

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧