上一个博文只是进行了视频播放,这里加上进度条。

下面是修改好的代码:

#include <cv.h>
#include <highgui.h> /*
* tan@ubuntu:~/cv$ g++ AVIPlayerPlus.cpp -o AVIPlayerPlus `pkg-config opencv --cflags --libs`
* tan@ubuntu:~/cv$ ./AVIPlayerPlus ../apple.avi
*
*/ #define KEY_ESC 27
#define DELAY_TIME 33 CvCapture *g_capture = NULL; void onTrackbarSlide(int cur_pos) {
/* set capture to some position */
cvSetCaptureProperty(g_capture, CV_CAP_PROP_POS_FRAMES, cur_pos); } int main(int argc,char **argv)
{ int slider_position = 0; cvNamedWindow("good_player", CV_WINDOW_AUTOSIZE);
g_capture = cvCreateFileCapture(argv[1]); /* create trackbar UI */
int frame_count = cvGetCaptureProperty(g_capture, CV_CAP_PROP_FRAME_COUNT);
if(0 != frame_count)
cvCreateTrackbar("bar_name", "good_player", &slider_position,
frame_count, onTrackbarSlide); /* Real function */
IplImage *frame;
while (true) {
frame = cvQueryFrame(g_capture);
if (!frame)
break;
cvShowImage("good_player",frame);
char c = cvWaitKey(DELAY_TIME);
if (KEY_ESC == c)
break;
}
cvReleaseCapture(&g_capture);
cvDestroyWindow("good_player");
return 0;
}

这里的关键函数是

cvCreateTrackbar

onTrackbarSlide

这两个函数分别创建了了进度条,另一个函数是cvCreateTrackbar的回调函数。

下面是效果(ubuntu默认不支持的AVI可以播放啦!):

Opencv step by step - 视频进度条的更多相关文章

  1. Opencv学习笔记——视频进度条的随动

    1. CvCapture结构体: CvCapture是一个结构体,用来保存图像捕获的信息,就像一种数据类型(如int,char等)只是存放的内容不一样,在OpenCv中,它最大的作用就是处理视频时(程 ...

  2. 使用axios实现上传视频进度条

    这是最终的效果图 先介绍一下axios的使用:中文的axios官方介绍 首先定义一个uploadTest方法,写在vue文件的methods里 该方法有三个参数,分别是参数,和两个回调函数,参数就是我 ...

  3. JQ加载进度条动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

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

    功能:opencv读视频,显示进度条,推动进度条快进.后退,按q退出.代码如下: import os import cv2 def nothing(emp): pass def jindu(name, ...

  5. cocos2d-x视频控件VideoPlayer的用户操作栏进度条去除(转载)

    目前遇到两个问题: (1)视频控件移除有问题,会报异常. (2)视频控件有用户操作栏,用户点击屏幕会停止视频播放. 对于第一个问题,主要是移除控件时冲突引起的,目前简单处理是做一个延时处理,先stop ...

  6. 【液晶模块系列基础视频】4.5.X-GUI图形界面库-进度条等函数简介

    [液晶模块系列基础视频]4.5.X-GUI图形界面库-进度条等函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址 ...

  7. ajax 异步上传视频带进度条并提取缩略图

    最近在做一个集富媒体功能于一身的项目.需要上传视频.这里我希望做成异步上传,并且有进度条,响应有状态码,视频连接,缩略图. 服务端响应 { "thumbnail": "/ ...

  8. Android:webView加载h5网页视频,播放不了,以及横屏全屏的问题和实现自定义加载进度条的效果

    1.webView加载h5网页视频,播放不了,android3.0之后要在menifest添加硬件加速的属性 android:hardwareAccelerated="true". ...

  9. 视频支持拖动进度条播放的实现(基于nginx)

    http协议下的flv/mp4流式播放支持的三个要点: 1 服务器端要支持flv/mp4流式播放,现在nginx或者lighttpd都是支持这样的应用的,还支持mp4的流式播放(默认编译版本一般都是打 ...

随机推荐

  1. Effective Java 29 Consider typesafe heterogeneous containers

    When a class literal is passed among methods to communicate both compile-time and runtime type infor ...

  2. strcat()函数常见问题

    strcat(char *_Destination,const char *_Source)函数的功能是将后一个字符串粘贴到前一个字符串的末尾 原型 char *strcat(char *_Desti ...

  3. Spring 下载与安装以及spring 3.2.9 jar包详解

    一.Spring简介  Spring官网改版后,很多项目的完整zip包下载链接已经隐掉了,虽然Spring旨在引导大家用更“高大上”的maven方式来管理所依赖的jar包,但是完全没想到中国的国情,在 ...

  4. Linux date命令的用法

    在linux shell编程中,经常用到日期的加减运算以前都是自己通过expr函数计算,很麻烦.其实date命令本身提供了日期的加减运算非常方便. 例如:得到昨天的时间date  --date=&qu ...

  5. Python Memcached Script

    介绍 利用 python 书写了 memcached 的启动等一类操作 尽量的实现脚本的复用性,以及脚本的可扩展性,已达到一劳永逸的效果, 并且添加了 memcached 监控搭建 memcached ...

  6. C++find函数

    头文件 #include <algorithm> 函数实现 template<class InputIterator, class T> InputIterator find ...

  7. uva 1471 defence lines——yhx

    After the last war devastated your country, you - as the king of the land of Ardenia - decided it wa ...

  8. 【读书笔记《Android游戏编程之从零开始》】5.Android 游戏开发常用的系统控件(ProgressBar、Seekbar)

    3.7 ProgressBar ProgressBar类官方文档地址:http://developer.android.com/reference/android/widget/ProgressBar ...

  9. 边工作边刷题:70天一遍leetcode: day 77

    Paint House I/II 要点:这题要区分房子编号i和颜色编号k:目标是某个颜色,所以min的list是上一个房子编号中所有其他颜色+当前颜色的cost https://repl.it/Chw ...

  10. 边工作边刷题:70天一遍leetcode: day 85-2

    Paint Fence 要点: 这题是求number of ways,如果是相邻不相同颜色,那么就trivial了:k*(k-1)^(n-1).所以这里no more than two adjacen ...