有什么问题? 它不会给出错误。一直工作直到它冻结
我的相机亮了,但屏幕上没有显示视频
#my cam "0"
cap = cv2.VideoCapture(0)
frame = None
while True:
ret, frame = cap.read()
cv2.imshow("Frame", frame)
cap.release()
cv2.destroyAllWindows()
这里的屏幕
答案 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 键时相机会关闭的位置。