在屏幕 cv2 上不显示视频

时间:2021-05-09 08:01:51

标签: python opencv webcam

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

我的相机亮了,但屏幕上没有显示视频

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

这里的屏幕

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要添加一个 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 键时相机会关闭的位置。