python - 外部摄像头未捕获图像,为帧变量返回 nonetype
问题描述
我正在尝试使用 opencv 在目录中实时存储某些帧。但是,我无法让它使用我的外部网络摄像头拍照。我的内置网络摄像头适用于该程序,但我的外置摄像头不能。
我试过用这个cap.open()
方法,但是还是不行。
import cv2
cap = cv2.VideoCapture(0)#0 is internal cam : 1 is external webcam
if cap.isOpened() == True:
print("camera works")
pass
else:
cap.open(1)
print('opened camera')
ret, frame = cap.read()
cv2.imshow("imshow",frame)
cv2.waitKey(1)
我希望frame
它是一个可以处理的值,但是当我开始调试时,我发现它是一个None
变量。为什么会发生这种情况,我该如何解决?
解决方案
cap = cv2.VideoCapture(0) 通常意味着打开内部摄像头
cap = cv2.VideoCapture(1) 测量打开第二个加载的摄像头,通常是外部网络摄像头
import numpy as np import cv2
cap = cv2.VideoCapture(1)
while(1):
ret, img = cap.read()
cv2.imshow('img',img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
推荐阅读
- android - 通过删除 Reloading 状态并仅使用 Loading 状态来简化 ViewState
- python - 通过匹配模式获取多个子字符串
- ruby-on-rails - 将 Rails + mongoid 与嵌入式 shopify 应用程序集成时出现问题
- javascript - 如何在 React Native 上一开始就关闭键盘
- azure-devops - Azure devops 的 Power BI 报告
- mysql - SQL:直接从连接中获取顶部元素
- azure-functions - Azure 函数:函数“测试”的侦听器无法启动。请验证 Azure 存储模拟器是否正在运行
- javascript - 修复特定包的 npm peerDependencies 问题
- clickhouse - 进行远程()查询时,我可以在日志中隐藏密码吗?
- python - 根据列值 pandas 数据框将多列合并为一列