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 ...
随机推荐
- 合并多个MP4文件
把多个MP4文件连接起来的方法与音频文件不太一样,比较有效的方法是: $ cat mylist.txt file '/path/to/file1' file '/path/to/file2' file ...
- Vue如何实现swiper左右滑动内容区控制导航tab同时切换高亮
Vue如何实现左右滑动内容区控制导航tab同时切换高亮,实现的效果是:点击导航按钮时内容区发生改变,左右滑动内容区时导航按钮跟随切换高亮,停留在某个内容区时刷新页面后仍然停留在当前内容区. ...
- STM32F407 按键输入实验 库函数版 个人笔记
读取IO口输入的函数: STM32F4 的 IO口做输入使用的时候,是通过调用函数 GPIO_ReadInputDataBit()来读取 IO 口的状态的.了解了这点,就可以开始我们的代码编写了. 按 ...
- j简单的分类实现-K近邻
dataSetSize=dataSet.shape[0] voteIlabel=labels[sortedDistIndicies[i]] ...
- SQL SERVER代理作业删除失败问题
在SQL Server 2005上遇到了先删除已运行维护计划后,再删除代理中由其产生的作业时,提示删除失败. DELETE 语句与 REFERENCE 约束"FK_subplan_job ...
- Word Break II 求把字符串拆分为字典里的单词的全部方案 @LeetCode
这道题相似 Word Break 推断能否把字符串拆分为字典里的单词 @LeetCode 只不过要求计算的并不不过能否拆分,而是要求出全部的拆分方案. 因此用递归. 可是直接递归做会超时,原因是Le ...
- Linux---有关dig命令的有用脚本
这里直接给出脚本以及运行的效果图,主要推断了一下cdn然后能够直接过滤url.默认就是dig +域名 +short. 脚本qdig(随便能够取一个名字)例如以下: #!/usr/bin/env bas ...
- FlashBuilder 4.7 非正常关闭导致的不能启动的解决的方法
停电.或者卡死.FB就不能正常启动了. 以下是老外给出的方法,好用: 进入.metadata/.plugins/org.eclipse.core.resources 文件夹 删除.snap文件 假设是 ...
- iOS社交分享Twitter、Facebook、拷贝到剪切板、LINE、及邮件
准备 首先要引进例如以下三个framework: MessageUI.framework Social.framework Accounts.framework 并在实现这几个方法的地方引入下面几个头 ...
- HDU 1542 Atlantis (线段树 + 扫描线 + 离散化)
Atlantis Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...