功能: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读视频、循环读图片显示进度条的更多相关文章

  1. Python opencv提取视频中的图片

    作者:R语言和Python学堂链接:https://www.jianshu.com/p/e3c04d4fb5f3 这个函数就是本文要介绍的video2frames()函数,功能就是从视频中提取图片,名 ...

  2. 利用Python计算π的值,并显示进度条

    利用Python计算π的值,并显示进度条  第一步:下载tqdm 第二步;编写代码 from math import * from tqdm import tqdm from time import ...

  3. WPF下载远程文件,并显示进度条和百分比

    WPF下载远程文件,并显示进度条和百分比 1.xaml <ProgressBar HorizontalAlignment="Left" Height="10&quo ...

  4. Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)(转)

    Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现) 相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦 ...

  5. (委托事件处理)关于多线程执行显示进度条的实例(转)&&线程间操作无效: 从不是创建控件“rtxtEntryNO”的线程访问它。

    关于多线程执行显示进度条的实例! 之前回答了一篇关于怎么在线程中操作进度条的帖子,估计有人看的不是很明白今天没事,写了一个小小的实例,很简单,就2个文件权当抛砖引玉,希望有更好解决方案的人发表一下意见 ...

  6. 基于Jquery插件Uploadify实现实时显示进度条上传图片

    网址:http://www.jb51.net/article/83811.htm     这篇文章主要介绍了基于Jquery插件Uploadify实现实时显示进度条上传图片的相关资料,感兴趣的小伙伴们 ...

  7. 【shell脚本】显示进度条

    使用动态时针版本显示进度条 [root@VM_0_10_centos shellScript]# cat progressBar.sh #!/bin/bash # 进度条,动态时针版本 # 定义显示进 ...

  8. tqdm和zip组合使用时无法显示进度条-解决办法

    问题 单独对于可迭代对象iterator使用tqdm时,结合循环就可以在终端显示进度条, 以直观展示程序进度,如下: from tqdm import tqdm textlist = [] for i ...

  9. 任务栏显示进度条 CreateComObject(CLSID_TaskbarList) as ITaskbarList4

    http://www.cnblogs.com/jxsoft/archive/2011/06/02/2067712.html //在任务栏显示 进度条 unit Unit9; interface use ...

随机推荐

  1. Github ==〉本地(克隆)

    [情景] 新员工入职后,一般会将项目下载到本地. [下载(克隆)] 命令 git clone url地址 示例

  2. Thawte SSL Web Server

      Thawte SSL Web Server ,需要验证域名所有权和申请单位信息,属于企业验证(OV)型SSL证书,提供40位/56位/128位,最高支持256位的自适应加密.被2048位的根证书签 ...

  3. JavaEE JDBC ResultSet内外移动

    ResultSet内外移动 @author ixenos 内外移动指位置光标的移动 内移动就是一个ResultSet得到后的那个光标! 外移动就是多个ResultSet的迭代 内移动 一般的数据库都不 ...

  4. POJ3169 差分约束 线性

    Layout Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12522   Accepted: 6032 Descripti ...

  5. cdq分治入门--BZOJ1176: [Balkan2007]Mokia

    对w*w,w<=2000000的矩形,一开始全是0(或一开始全是s),n<=170000个操作,每次操作:矩阵内某点加上一个数,查某一个子矩阵的和,保证修改数<=160000,询问数 ...

  6. HDU 2222 (AC自动机)

    HDU 2222 Keywords search Problem : 给若干个模式串,询问目标串中出现了多少个模式串. Solution : 复习了一下AC自动机.需要注意AC自动机中的fail,和n ...

  7. Discuz! X2.5数据库字典【转载】

    DROP TABLE IF EXISTS pre_common_admincp_cmenu; CREATE TABLE pre_common_admincp_cmenu ( `id` SMALLINT ...

  8. AtCoder Grand Contest 011 E - Increasing Numbers(灵性乱搞)

    题意: 当一个整数高位数字总不小于低位数字,或者说写成字符串之后单调不下降,称之为上升数.求一个整数最少能表示为多少个上升数的和.(n<=1e500000) 分析: 考虑那些不下降的数字,一定可 ...

  9. 基于Wi-Fi的HID注射器,利用WHID攻击实验

    WHID代表基于 Wi-Fi 的 HID 注射器,即对 HID 攻击进行无线化攻击的一种注入工具. 实验攻击原理如下图: 攻击者使用ESP8266作为AP,在自己的电脑创建客户端连接AP.在客户端键入 ...

  10. java编程思想-复用类(2)

    如果java的基类拥有某个已被多次重载的方法名称,那么在导出类中重新定义该方法名称并不会屏蔽其在基类中的任何版本(这一点与C++不同) class Homer { char doh(char c) { ...