不在屏幕上显示视频 cv2

Does not show the video on the screen cv2

有什么问题吗? 它不会给出错误。一直工作直到它冻结

我的摄像头亮起但屏幕上不显示视频

#my cam "0"
cap = cv2.VideoCapture(0)
frame = None
while True:
    ret, frame = cap.read()
    cv2.imshow("Frame", frame)
cap.release()
cv2.destroyAllWindows()

这里是屏幕

您需要添加一个 cv2.waitKey 调用来设置每帧的延迟时间。目前你的代码是 0 毫秒每帧,这是导致问题的原因。

尝试:

cap = cv2.VideoCapture(0)
frame = None
while True:
    ret, frame = cap.read()
    cv2.imshow("Frame", frame)
    cv2.waitKey(1) # 1 millisecond per frame
cap.release()
cv2.destroyAllWindows()

或者,您可以通过添加此 if 语句来简化关闭过程:

cap = cv2.VideoCapture(0)
frame = None
while True:
    ret, frame = cap.read()
    cv2.imshow("Frame", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

当你按下 q 键时相机会关闭的地方。