OpenCV技术应用(9)— 视频的暂停播放和继续播放

OpenCV技术应用(9)— 视频的暂停播放和继续播放_第1张图片

前言:Hello大家好,我是小哥谈。本节课就手把手教大家如何控制视频的暂停播放和继续播放,希望大家学习之后能够有所收获~!       

     目录

1.技术介绍 

2.实现代码

OpenCV技术应用(9)— 视频的暂停播放和继续播放_第2张图片

1.技术介绍 

在播放视频的过程中,能否通过按键指令,实现视频的暂停播放和继续播放呢?答案是肯定的。

为了实现视频的暂停播放和继续播放,需要用到按键指令continue关键字。例如,当按下空格键时,实现视频的暂停播放;当再次按下空格键时,实现视频的继续播放。实现视频的暂停播放和继续播放的关键代码如下所示:

if key == 32: # 如果按下空格键
    cv2.waitKey(0) # 无限等待用户按下键盘按键的时间,实现暂停效果
    continue # 再按一次空格键,继续播放

2.实现代码

本案例先要从打开后的视频文件中读取帧;再设置窗口的名称、宽度和高度;接着把读取到的帧显示在窗口里;而后设置视频的播放速度为每50ms播放1帧,当按下空格键时,实现视频的暂停播放,当再次按下空格键时,实现视频的继续播放;最后通过按下Esc键,关闭视频文件,并且销毁显示的窗口。

具体的实现代码如下所示:

import cv2

video = cv2.VideoCapture(r"C:\Users\Lenovo\Desktop\1.mp4") # 初始化视频文件
while (video.isOpened()): # 视频文件被打开后
    retval, image = video.read() # 读取视频里的帧
    # 设置“Video”窗口的宽为420,高为300
    cv2.namedWindow("Video", 0)
    cv2.resizeWindow("Video", 420, 300)
    if retval == True: # 读取到视频里的帧后
        cv2.imshow("Video", image) # 在窗口里显示读取到的帧
    else: # 没有读取到视频里的帧
        break
    key = cv2.waitKey(50) # 等待用户按下键盘按键的时间为50ms
    if key == 32: # 如果按下空格键
        cv2.waitKey(0) # 无限等待用户按下键盘按键的时间,实现暂停效果
        continue # 再按一次空格键,继续播放
    if key == 27: # 如果按下Esc键
        break
video.release() # 关闭视频文件
cv2.destroyAllWindows() # 销毁显示视频文件的窗口

你可能感兴趣的:(OpenCV:基础+应用,音视频,人工智能,opencv,计算机视觉,目标检测,机器学习)