python-----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读视频、循环读图片显示进度条的更多相关文章
- Python opencv提取视频中的图片
作者:R语言和Python学堂链接:https://www.jianshu.com/p/e3c04d4fb5f3 这个函数就是本文要介绍的video2frames()函数,功能就是从视频中提取图片,名 ...
- 利用Python计算π的值,并显示进度条
利用Python计算π的值,并显示进度条 第一步:下载tqdm 第二步;编写代码 from math import * from tqdm import tqdm from time import ...
- WPF下载远程文件,并显示进度条和百分比
WPF下载远程文件,并显示进度条和百分比 1.xaml <ProgressBar HorizontalAlignment="Left" Height="10&quo ...
- Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)(转)
Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现) 相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦 ...
- (委托事件处理)关于多线程执行显示进度条的实例(转)&&线程间操作无效: 从不是创建控件“rtxtEntryNO”的线程访问它。
关于多线程执行显示进度条的实例! 之前回答了一篇关于怎么在线程中操作进度条的帖子,估计有人看的不是很明白今天没事,写了一个小小的实例,很简单,就2个文件权当抛砖引玉,希望有更好解决方案的人发表一下意见 ...
- 基于Jquery插件Uploadify实现实时显示进度条上传图片
网址:http://www.jb51.net/article/83811.htm 这篇文章主要介绍了基于Jquery插件Uploadify实现实时显示进度条上传图片的相关资料,感兴趣的小伙伴们 ...
- 【shell脚本】显示进度条
使用动态时针版本显示进度条 [root@VM_0_10_centos shellScript]# cat progressBar.sh #!/bin/bash # 进度条,动态时针版本 # 定义显示进 ...
- tqdm和zip组合使用时无法显示进度条-解决办法
问题 单独对于可迭代对象iterator使用tqdm时,结合循环就可以在终端显示进度条, 以直观展示程序进度,如下: from tqdm import tqdm textlist = [] for i ...
- 任务栏显示进度条 CreateComObject(CLSID_TaskbarList) as ITaskbarList4
http://www.cnblogs.com/jxsoft/archive/2011/06/02/2067712.html //在任务栏显示 进度条 unit Unit9; interface use ...
随机推荐
- poj 3253 Fence Repair (优先队列,哈弗曼)
题目链接:http://poj.org/problem?id=3253 题意:给出n块木板的长度L1,L2...Ln,求在一块总长为这个木板和的大木板中如何切割出这n块木板花费最少,花费就是将木板切割 ...
- bzoj1455左偏树裸题
#include <stdio.h> bool vi[1000010]; int n,de[1000010],ls[1000010],rs[1000010],va[1000010],fa[ ...
- 《 阿Q正传》-鲁迅 词语解释 | 经典语录
词语解释 “太上有立德,其次是立功,其次是立言,虽久不废,此之谓不朽”.-出自<左传>-左丘明(春秋末期) 解释:(1)最上等的是树立德行,其次是建功立业,再其次是创立学说,即使过了很久也 ...
- php实现文件的下载
<?php$file_name="test.mp4";//需要下载的文件$fp=fopen($file_name,"r+");//下载文件必须先要将文件打 ...
- 【bzoj2527】[Poi2011]Meteors(树状数组(单点查询,区间修改)+整体二分)
[bzoj2527][Poi2011]Meteors Description Byteotian Interstellar Union (BIU) has recently discovered a ...
- 听dalao讲课 7.27
1.高斯消元&线性基 也就是打大暴力啊 所谓的高斯消元也就是加减消元嘛,我的意识流高斯消元是可以的,没听到HY神犇讲,LZHdalao讲得很好,其实就是\(O(n^3)\)的暴力,别的地方一直 ...
- 文件权限设置与http,php的关系
在web服务器上的文件要使用什么权限比较好呢.我开始的时候直接都是777,后台安全部门的同事,通过漏洞把我管理的服务器给搞了.报告到我这里,我才意识到权限的设置不能马虎.环境采用nginx+php,一 ...
- vimtips阅读记录
__BEGIN__ *vimtips.txt* For Vim version 8.0. ------------------------------------------------------- ...
- Floyd算法——保存路径——输出路径 HDU1385
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1385 参考 http://blog.csdn.net/shuangde800/article/deta ...
- 应用CLR的线程池
大家都知道这个线程的建立和销毁都需要很大的性能开销,当有比较多且不同的任务需要完成时,可以考虑使用线程池来管理这些线程.在以windows NT为内核的操作系统上每个进程都包含一个线程池,在线程池中存 ...