我在玩 OpenCV。我正在关注文档示例(链接)我在 Ubuntu 上安装了 GTK 网络摄像头应用程序来验证我的网络摄像头是否工作。我能够启动网络摄像头并查看 GTK 中的视频反馈。我在教程代码中添加了一些打印消息以查看我得到的位置。我在这行前后添加了一个打印:cap = cv2.VideoCapture(0)在运行 Python 文件时,我得到的只是我在 之前添加的打印,cap = cv2.VideoCapture(0)没有别的。我尝试将waitKey增加到 20、40、100,但没有帮助。有谁知道为什么它没有进一步显示框架?我的代码:import numpy as np import cv2 videoFeed = cv2.VideoCapture(0) while (True): ret, frame = videoFeed.read() frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.imshow('Feed', frame_gray) if cv2.waitKey(10) & 0xFF = ord("q"): break videoFeed.release() cv2.destroyAllWindows() 我的设置:Windows 10 主机Ubuntu 18.04 来宾主机集成网络摄像头使用PIP安装python模块(numpy、scipi、pillow、open_cv等)使用 venv python
1 回答
慕森王
TA贡献1777条经验 获得超3个赞
您的代码中存在错误if cv2.waitKey(10) & 0xFF = ord("q"):。不过,您应该在这里遇到语法错误。
import numpy as np
import cv2
videoFeed = cv2.VideoCapture(0)
while (True):
ret, frame = videoFeed.read()
if ret == False:
print("Failed to retrieve frame")
break
frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('Feed', frame_gray)
if cv2.waitKey(10) & 0xFF == ord("q"):
break
videoFeed.release()
cv2.destroyAllWindows()
测试了你的代码。工作正常。只有其他建议是检查您的 Ubuntu 来宾是否有权访问您的网络摄像头。如果您使用的是 VirtualBox,我记得在界面中看到了一个选项
添加回答
举报
0/150
提交
取消