码迷,mamicode.com
首页 > 编程语言 > 详细

python-----opencv读视频、循环读图片显示进度条

时间:2019-01-09 23:32:51      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:capture   lis   resize   spl   else   bar   wait   功能   opencv   

功能:opencv读视频,显示进度条,推动进度条快进、后退,按q退出。代码如下:

import os
import cv2
def nothing(emp):
    pass
def jindu(name,video):
    cv2.namedWindow(name,0)
    cv2.resizeWindow(name, 800, 600)
    cap = cv2.VideoCapture(video)
    frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
    loop_flag = 0
    pos = 0
    cv2.createTrackbar(time, name, 0, frames, nothing)

    while 1:
        if loop_flag == pos:
            loop_flag = loop_flag + 1
            cv2.setTrackbarPos(time, name, loop_flag)
            print(loop_flag1, loop_flag)
        else:
            pos = cv2.getTrackbarPos(time, name)
            loop_flag = pos
            cap.set(cv2.CAP_PROP_POS_FRAMES, pos)
            print(loop_flag2, loop_flag)
        ret, img = cap.read()

        cv2.imshow(name, img)
        if cv2.waitKey(1) & 0xFF == ord(q): #按q退出
            cv2.waitKey(0)

if __name__ == __main__:
    video = r"D:\Team-CV\video_wang\test/1.MOV"
    name = video.split(.)[-1]
    jindu(name, video)

功能:opencv循环读图片,显示进度条,推动进度条快进、后退,按q退出。代码如下:

import os
import cv2
def nothing(emp):
    pass

def jindu_imgpath(name,frames):
    cv2.namedWindow(name,0)
    cv2.resizeWindow(name, 800, 600)
    loop_flag = 0
    pos = 0
    cv2.createTrackbar(time, name, 0, frames, nothing)
    path_list = os.listdir(img_path)
    for m, img in enumerate(path_list):
        img_file = img_path + / + img
        img_new = cv2.imread(img_file)
        if cv2.waitKey(1) & 0xFF == ord(q):
            cv2.waitKey(0)
        if loop_flag == pos:
            loop_flag = loop_flag + 1
            cv2.setTrackbarPos(time, name, loop_flag)
        else:
            pos = cv2.getTrackbarPos(time, name)
            loop_flag = pos
        img = path_list[loop_flag]
        img_file = img_path + / + img
        img_new = cv2.imread(img_file)
        cv2.imshow(name, img_new)

if __name__ == __main__:
    img_path = r"D:\Team-CV\video_wang\test\JPEGImages"
    frames = len(os.listdir(img_path))
    jindu_imgpath(img, frames)

 

python-----opencv读视频、循环读图片显示进度条

标签:capture   lis   resize   spl   else   bar   wait   功能   opencv   

原文地址:https://www.cnblogs.com/xiaodai0/p/10247403.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!