您的位置:首页 > 编程语言 > Python开发

opencv读取视频同时使用进度条进行控制(Python)

2018-03-09 02:48 1921 查看
转载请注明出处平台: Windows 10 ProfessionalPython 环境:3.6.4opencv版本:3.4 + contrib    最近进行一个视频处理分析的项目,需要来回反复看处理效果。但是发现中文的资料很少有 Python+opencv 控制条来控制播放进度的文章。于是小小花了点时间自己做了一个。    用到的函数主要是“cv2.createTrackbar”,“cv2.setTrackbar”和“cv2.getTrackbar”。第一个是把控制条类抽象好,后两个是用来设置和获取当前滑块的位置。逻辑比较简单,不多赘述。
import cv2

def nothing(emp):
pass

video = './1.avi'
cv2.namedWindow('video')
cap = cv2.VideoCapture(video)
frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
loop_flag = 0
pos = 0
cv2.createTrackbar('time', 'video', 0, frames, nothing)

while 1:
if loop_flag == pos:
loop_flag = loop_flag + 1
cv2.setTrackbarPos('time', 'video', loop_flag)
else:
pos = cv2.getTrackbarPos('time', 'video')
loop_flag = pos
cap.set(cv2.CAP_PROP_POS_FRAMES, pos)
ret, img = cap.read()
cv2.imshow('video', img)
if cv2.waitKey(1) & loop_flag == frames:
break
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: