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)

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

时间: 2024-10-03 22:27:18

python-----opencv读视频、循环读图片显示进度条的相关文章

Python 给下载文件显示进度条和下载时间

其实实现它方法很简单,这里我写了个进度条的模块,其中还附带上了运行时间也就是下载时间了. 该模块调用了三个库:1.os 2.requests 3.time 话不多说,先上代码!!!. # 进度条模块 def progressbar(url,path): if not os.path.exists(path): # 看是否有该文件夹,没有则创建文件夹 os.mkdir(path) start = time.time() #下载开始时间 response = requests.get(url, st

winform 加载窗体时弹出另一个窗体并显示进度条的源码

winform 加载窗体时弹出另一个窗体并显示进度条的源码 //frmA: 源窗体 //------------------------------------------ //引用 using System.Threading; BackgroundWorker worker; public frmA() { InitializeComponent(); worker = new BackgroundWorker(); worker.DoWork += new DoWorkEventHandl

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

网址:http://www.jb51.net/article/83811.htm 这篇文章主要介绍了基于Jquery插件Uploadify实现实时显示进度条上传图片的相关资料,感兴趣的小伙伴们可以参考一下 先了解了解Uploadify,具体内容如下 Uploadify是一个简单易用的多文件上传方案.作为一个Jquery插件,Uploadify使用简单,并具有高度的定制性. Uploadify特性: Uploadify简单说来,是基于Jquery的一款文件上传插件.它的功能特色总结如下: 1).支

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

关于多线程执行显示进度条的实例! 之前回答了一篇关于怎么在线程中操作进度条的帖子,估计有人看的不是很明白今天没事,写了一个小小的实例,很简单,就2个文件权当抛砖引玉,希望有更好解决方案的人发表一下意见 界面上2个控件,一个按钮和一个进度条using System;using System.Threading;using System.Windows.Forms; namespace WindowsFormsApplication2{    public partial class Form1 :

android异步任务图片下载(进度条提示进度)

一.AsyncTask介绍 Android提供了几种在其他线程中访问UI线程的方法. Activity.runOnUiThread( Runnable ) View.post( Runnable ) View.postDelayed( Runnable, long ) Hanlder 这些类或方法同样会使你的代码很复杂很难理解.然而当你需要实现一些很复杂的操作并需要频繁地更新UI时这会变得更糟糕. 为了解决这个问题,Android 1.5提供了一个工具类:AsyncTask,它使创建需要与用户界

【CentOS】cp显示进度条

问题描述: 使用CentOS的cp时,对于大文件的拷贝或者mv,需要等待很长时间,现在需要显示cp或mv的进度 问题解决: Advanced copy 参考官网:http://beatex.org/web/advancedcopy.html 解决方法: 效果预览: [CentOS]cp显示进度条,码迷,mamicode.com

easyui datagrid控制显示进度条

实际项目中当我们在前台分页的时候需要控制datagrid加载数据时显示进度条,而datagrid默认只有在通过url方式加载数据时才显示进度条,以下代码是手动控制: 打开进度条: $('#searchAddrDg').datagrid('loading');//打开等待div 关闭进度条: $('#searchAddrDg').datagrid('loaded');//关闭loding进度条:

ProgressIndicator显示进度条以及一些文字信息

//ProgressIndicator可以显示进度条以及一些文字信息,不过这个属性一般都在cs文件中操作. private void PhoneApplicationPage_Loaded(object sender, System.Windows.RoutedEventArgs e) {     private Microsoft.Phone.Shell.ProgressIndicator _progressIndicator = new Microsoft.Phone.Shell.Progr

显示进度条

static void jindutiao_ZF(Args _args){ RunBaseProgress progress; integer i,j;; i = 10000; progress = new RunBaseProgress(1); progress.setCaption('进度');progress.setTotal(i); progress.updateInterval(1); while(j != i) { j =j+100; progress.setCount(j); pr