使用 waitKey 暂停和播放视频

新手上路,请多包涵

我在 OpenCV 中有一个 VideoCapture ,我可以成功显示给定的视频。我现在要做的是通过按下一个键来暂停和播放(只要它有效,就可以选择哪个)。我一直在阅读有关 waitKey 的信息,但是关于这整件事我不明白(ASCII)以及如何绑定键。据我了解,它用于让 highgui 处理但也可以用于其他目的?

如果很难/不可能暂停视频并重新启动它,我会很高兴在按下键时有延迟。

非常感谢您的帮助!

原文由 J.Smith 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 830
1 个回答

参考 cv::waitKey(delay)OpenCV 文档,当 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()

原文由 elcymon 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题