我在玩 OpenCV。我正在關注文檔示例(鏈接)我在 Ubuntu 上安裝了 GTK 網絡攝像頭應用程序來驗證我的網絡攝像頭是否工作。我能夠啟動網絡攝像頭并查看 GTK 中的視頻反饋。我在教程代碼中添加了一些打印消息以查看我得到的位置。我在這行前后添加了一個打?。篶ap = 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
提交
取消