我在 OpenCV 中有一个 VideoCapture
,我可以成功显示给定的视频。我现在想做的是按一个键暂停和播放(可选哪个只要能用)。我一直在阅读有关 waitKey
的内容,但我不了解这整件事 (ASCII) 以及如何绑定(bind) key 。我的理解是用来让highgui
进程的,但也可以用于其他目的?
如果很难/不可能暂停视频并重新开始播放,我会很乐意在按下键时延迟一下。
非常感谢您的帮助!
最佳答案
引用OpenCV Documentation对于 cv::waitKey(delay)
, 当 delay <= 0
将导致函数无限等待按键事件。
这是一个示例 Python 脚本,用于显示从计算机网络摄像头捕获的帧。当q
按下,循环退出。但是,如果 p
按下,显示暂停,直到按下任何其他键:
import cv2
cap = cv2.VideoCapture(0) # getting video from webcam
while cap.isOpened():
ret, img = cap.read()
cv2.imshow("Frame",img)
key = cv2.waitKey(1)
if key == ord('q'):
break
if key == ord('p'):
cv2.waitKey(-1) #wait until any key is pressed
cap.release()
cv2.destroyAllWindows()
关于c++ - 使用 waitKey 暂停和播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38064777/