python - OpenCV 检测相机但不返回图像馈送,而 guvcview 确实
问题描述
目前,我正在我的 Ubuntu VM 上运行一些 python 代码。VM 检测并连接到我的 Logitech C920,这是我用来连接到 cam 的代码:
stream = cv2.VideoCapture(-1)
time.sleep(10.0)
if not (stream.isOpened()):
print("Failed to get Video Capture")
我给了它 10 秒,只是为了确保在从实时提要中提取帧之前凸轮完全加载。我使用 cv2.imshow() 来查看帧,即使在代码运行时连接了相机并亮起绿灯,它也是全黑的。
我注意到应用 Cheese 有同样的问题,而 guvcview 工作正常。有人对可能发生的事情有任何想法吗?自从我遇到这个问题以来已经有几天了,所以任何帮助都会很棒!
PS:我也发现了一个关于堆栈溢出的相关问题:Webcam doesn't read through OpenCV but does with guvcview but there is no answer yet
解决方案
尝试设置除 -1 以外的索引:
import cv2 ,time
stream = cv2.VideoCapture(0)
time.sleep(10.0)
if not (stream.isOpened()):
print("Failed to get Video Capture")
else:
while(True):
ret, frame = stream.read()
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
推荐阅读
- c - 为什么 `gets_s()` 仍未在 GCC (9.3.0) 中实现?
- c++ - Clang 和 '-O2' - 禁用特定优化
- javascript - 如何使用对象将数据保存到 mongodb 模式
- visual-studio-code - 从资源管理器重命名时更改(或添加)VS Code 中的背景颜色
- excel - VBA宏将过滤后的数据复制并粘贴到新工作表
- python - 如何在 discord.py 中一次运行多个函数?
- php - Telegram Bot 内联键盘不显示 PHP
- c# - IEnumerable
数组过滤 - python - SQLite - 如何将 VARIABLE 用于 TABLE NAME + VARIABLE FOR INSERT VALUES
- android - 在 Android Studio IDE 中 Flutter 创建命令不成功?