问题:台式机没有摄像头,外接USB摄像头,通过 cv2.VideoCapture(0)捕获视频图像报错

[ WARN:0] videoio(MSMF): OnReadSample() is called with error status: -2147024809
[ WARN:0] videoio(MSMF): async ReadSample() call is failed with error status: -2147024809
[ WARN:1] videoio(MSMF): can't grab frame. Error: -2147024809
[ WARN:1] terminating async callback

如果是在笔记本上,默认摄像头是自带的那个摄像头,索引号为0,可是如果外接USB摄像头,它的索引号就不一定是0 ,或者像大多数博客中写道的1,2,3……

解决方案:修改源代码,循环暴力破解摄像头设备ID

import cv2
ID = 0
while(1):cap = cv2.VideoCapture(ID)# get a frameret, frame = cap.read()if ret == False:ID += 1else:print(ID)break

[ WARN:0] videoio(MSMF): OnReadSample() is called with error status: -2147024809
[ WARN:0] videoio(MSMF): async ReadSample() call is failed with error status: -2147024809
[ WARN:1] videoio(MSMF): can't grab frame. Error: -2147024809
[ WARN:1] terminating async callback
700

因此,我们得到自己的摄像头ID为700,然后将ID =  0 替换为700 ,就可以了!!!

import cv2
ID = 700
cap = cv2.VideoCapture(ID)
while(1):# get a frameret, frame = cap.read()# show a framecv2.imshow("capture", frame)if cv2.waitKey(1) & 0xFF == ord('q'):break
cap.release()
cv2.destroyAllWindows() 

程序段里:

1、cap = cv2.VideoCapture(0)

VideoCapture()中参数是0,表示打开笔记本的内置摄像头,其他数字则代表其他设备;参数是视频文件路径则打开视频,如cap = cv2.VideoCapture(“../test.avi”)

2、ret,frame = cap.read()

cap.read()按帧读取视频,ret,frame是获cap.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。

cv2.VideoCapture(0)获取USB摄像头失败解决方案相关推荐

  1. Win10+OpenCV无法正常读取USB摄像头数据解决方案

    采用OpenCV中的VideoCapture类获取USB摄像头的数据时,使用下列代码 VideoCapture VideoStream(0);if (!VideoStream.isOpened()) ...

  2. Win10+OpenCV4.5 无法正常读取USB摄像头数据解决方案

    借鉴了这个博客. 采用OpenCV中的VideoCapture类获取USB摄像头的数据时,使用下列代码 #include "pch.h" #include "highgu ...

  3. cap = cv2.VideoCapture(0).read()摄像头读取图片用法

    flag, img_rd =cv2.VideoCapture(0).read() #功能:读取一帧的图片 #参数:无 #返回值:flag:bool值:True:读取到图片, False:没有读取到图片 ...

  4. python调用usb摄像头_Python通过cv2读取多个USB摄像头

    本文实例为大家分享了Python通过cv2读取多个USB摄像头的具体代码,供大家参考,具体内容如下 通过 cv2 可以轻易的拿到摄像头数据. 比如以下几步就能打开摄像头显示,并通过 q 键保存图片 i ...

  5. 解决opencv中cv2.VideoCapture()函数打开USB视频慢的问题

    解决opencv中cv2.VideoCapture()函数打开USB视频慢的问题!!! cv2.VideoCapture(0)打开电脑自带摄像头比cv2.VideoCapture(1)打开usb慢好多 ...

  6. cv2.VideoCapture(0)

    程序段里, 1.cap = cv2.VideoCapture(0) VideoCapture()中参数是0,表示打开笔记本的内置摄像头,参数是视频文件路径则打开视频,如cap = cv2.VideoC ...

  7. 第三阶段应用层——2.4 视频监控—从0写USB摄像头驱动(1)-描述符的分析与打印

    视频监控-从0写USB摄像头驱动(1)-描述符的分析与打印 硬件平台:韦东山嵌入式Linxu开发板(S3C2440.v3) 软件平台:运行于VMware Workstation 12 Player下U ...

  8. [转载]树莓派新版系统上使用mjpg-streamer获取USB摄像头和树莓派专用摄像头RaspiCamera图像...

    树莓派新版系统上使用mjpg-streamer获取USB摄像头和树莓派专用摄像头RaspiCamera图像 网上有很多关于mjpg-stream移植到树莓派的文章,大部分还是使用的sourceforg ...

  9. FFmpeg实现获取USB摄像头视频流测试代码

    通过USB摄像头(注:windows7/10下使用内置摄像头,linux下接普通的usb摄像头(Logitech))获取视频流用到的模块包括avformat和avdevice.头文件仅include ...

最新文章

  1. Python打包PyPI上传实践
  2. nefu 628 扩展卢卡斯
  3. 使用display inline-block 布局时,出现的间距问题的解决办法和相关说明
  4. r语言用行名称提取数据框信息显示na_学会这些R语言技巧至少可以节省半年时间...
  5. async/await和Promise区别
  6. 解析大型.NET ERP系统 高质量.NET代码设计模式
  7. 30天提升技术人的写作力-第七天
  8. HarmonyOS 组件篇
  9. paip.URL跳转漏洞欺骗用户名密码
  10. 常用生活必备在线网页软件
  11. excel冻结窗口怎么设置_说说Word和Excel表头共享,全部方法供你选择
  12. 思科C9500交换机介绍及光模块解决方案
  13. BMP图片-文件头部信息
  14. xshell突然连接不上
  15. HNU数据结构哈夫曼树建立
  16. html 按钮位于div底部,css按钮定位在div底部
  17. From Shadow Generation to Shadow Removal (CVPR2021)阅读笔记
  18. New Bing已经出来了,怎么防止Bing跳转到国内版(cn.bing.com)?
  19. 推荐5个免费的字体转换网站工具
  20. 5月29号,Python列表

热门文章

  1. 嵌入式工程师的日常是啥样的?就业现状如何?
  2. Visual Studio 默认编码为 utf-8
  3. java交通信号灯毕业论文范文_信号灯设计论文,关于基于FPGA的交通信号灯控制系统设计相关参考文献资料-免费论文范文...
  4. C++实现LR(1)分析表的构造
  5. Don Box博客中文版志愿者翻译已招募
  6. 设计幸运大转盘h5小游戏总结
  7. map、set、multimap和multiset的使用【STL】
  8. 云教室桌面虚拟化环境搭建——flexVDI Dashboard 3.0 云桌面管理系统的使用
  9. 什么是HTTPS,与HTTP的区别?
  10. STC12驱动PCF8575