gpt4 book ai didi

python - 我无法理解为什么我的网络摄像头只能捕获一帧(网络摄像头启动时的第一帧)

转载 作者:行者123 更新时间:2023-12-02 17:24:58 24 4
gpt4 key购买 nike

我编写了一个python脚本(使用OpenCV)以启动,从网络摄像头捕获视频,将其转换为灰度并显示以下视频。当我第一次编译它时,它工作得很好,但是在第3或第4编译之后,它坚持只在网络摄像头启动时捕获第一帧。
这是代码:

import numpy 
import cv2 as cv

cap=cv.VideoCapture(0)

while(True):
#capture frame by frame
ret, frame = cap.read() #cv.VideoCapture(0) aslo returns a boolean true value if read correctly
#Operations on the frame
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
#display
cv.imshow('frame', gray)
if cv.waitKey(0) &0xFF: #== ord('q'):
break

#when everything is done, realse the capture
cap.realse()
cv.destroyAllWindows()

最佳答案

因此,它仅显示一帧并突然退出,还是等待按钮按下?

如果按任意键(“q”除外),它将获得下一帧。
如果您希望循环继续进行并显示实时供稿,请进行更改

if cv.waitKey(0) &0xFF: #== ord('q'):
break


if cv.waitKey(1) &0xFF: #== ord('q'):
break

这是因为 cv.waitkey(x)在按键时等待“x”毫秒,但是如果x为0,它将无限期地等待直到您按下按键。

另外,您在 cap.release()处有错字

关于python - 我无法理解为什么我的网络摄像头只能捕获一帧(网络摄像头启动时的第一帧),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59846028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com