【发布时间】:2019-12-30 10:27:11
【问题描述】:
我正在尝试为图像处理项目创建网络摄像头视频流,并且我想要一种暂停流的方法(因为它对于检查值、掩码等非常有用) 我确实找到了一种使用 time.sleep() 暂停一定量的简单方法,但这并不是我真正想要的。
我真正想要的是一种在按下 SPACE 时暂停流并在释放时取消暂停的方法。 在我看来,按住一个键是最简单的选择,因为它只是意味着检查一个按钮是否在帧开始时被按下,如果是,则跳过该特定帧。但是,我在这里尝试过的代码(使用 continue 跳过帧)不起作用。
有什么建议吗?
from imutils.video import VideoStream
import imutils
import time
import cv2
vs = VideoStream(src=0).start()
while True:
key = cv2.waitKey(1) & 0xFF
if key == ord("q"): break # quitting when q is pressed
# if key == ord(" "): time.sleep(5)
if key == ord(" "): continue
frame = vs.read()
frame = imutils.resize(frame, width=500)
if frame is None:
print("Oops, something went wrong")
break
# Image processing over here
cv2.imshow("Frame", frame)
vs.stop()
cv2.destroyAllWindows()
另外,如果有人对我的代码有任何其他提示或建议,请告诉我。
【问题讨论】:
标签: python opencv keypress video-capture pause