Opencv step by step - 视频进度条
上一个博文只是进行了视频播放,这里加上进度条。
下面是修改好的代码:
#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 - 视频进度条的更多相关文章
- Opencv学习笔记——视频进度条的随动
1. CvCapture结构体: CvCapture是一个结构体,用来保存图像捕获的信息,就像一种数据类型(如int,char等)只是存放的内容不一样,在OpenCv中,它最大的作用就是处理视频时(程 ...
- 使用axios实现上传视频进度条
这是最终的效果图 先介绍一下axios的使用:中文的axios官方介绍 首先定义一个uploadTest方法,写在vue文件的methods里 该方法有三个参数,分别是参数,和两个回调函数,参数就是我 ...
- JQ加载进度条动画
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python-----opencv读视频、循环读图片显示进度条
功能:opencv读视频,显示进度条,推动进度条快进.后退,按q退出.代码如下: import os import cv2 def nothing(emp): pass def jindu(name, ...
- cocos2d-x视频控件VideoPlayer的用户操作栏进度条去除(转载)
目前遇到两个问题: (1)视频控件移除有问题,会报异常. (2)视频控件有用户操作栏,用户点击屏幕会停止视频播放. 对于第一个问题,主要是移除控件时冲突引起的,目前简单处理是做一个延时处理,先stop ...
- 【液晶模块系列基础视频】4.5.X-GUI图形界面库-进度条等函数简介
[液晶模块系列基础视频]4.5.X-GUI图形界面库-进度条等函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址 ...
- ajax 异步上传视频带进度条并提取缩略图
最近在做一个集富媒体功能于一身的项目.需要上传视频.这里我希望做成异步上传,并且有进度条,响应有状态码,视频连接,缩略图. 服务端响应 { "thumbnail": "/ ...
- Android:webView加载h5网页视频,播放不了,以及横屏全屏的问题和实现自定义加载进度条的效果
1.webView加载h5网页视频,播放不了,android3.0之后要在menifest添加硬件加速的属性 android:hardwareAccelerated="true". ...
- 视频支持拖动进度条播放的实现(基于nginx)
http协议下的flv/mp4流式播放支持的三个要点: 1 服务器端要支持flv/mp4流式播放,现在nginx或者lighttpd都是支持这样的应用的,还支持mp4的流式播放(默认编译版本一般都是打 ...
随机推荐
- c++基础回顾
#include <iostream> #include <vector> #include <string> int main(int argc, const c ...
- hbase常用命令总结
创建表:表名:csliyb:testuser列族:name 例子:create 'csliyb:testuser','name','age' 添加记录: put 'csliyb:testuser',' ...
- Debian
一.简介 https://zh.wikipedia.org/wiki/Debian 二.下载 https://www.debian.org/ 三.配置 1)挂载iso镜像 mount /dev/cdr ...
- Java基础の第一弹
一.虚拟机的工作机制 (1) :通过 ClassLoader 寻找和装载 class 文件 (2) :解释字节码成为指令并执行,提供 class 文件的运行环境 (3) :进行运行期间垃圾回收 (4) ...
- hadoop中NameNode、DataNode和Client三者之间协作关系及通信方式介绍
<ignore_js_op> 1)NameNode.DataNode和Client NameNode可以看作是分布式文件系统中的管理者,主要负责管理文件系统的命名空间.集群 ...
- hdu2527哈夫曼编码
/* Safe Or Unsafe Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- 【读书笔记《Android游戏编程之从零开始》】9.游戏开发基础(如何快速的进入 Android 游戏开发)
1.不可盲目看API文档很多人在接触学习一门新的平台语言时,总喜欢先去探究一番API文档.先不说成效如何,至少编者认为这种方式不适合大部分人来效仿,主要原因在于 API 领域广泛,牵涉到的知识点太多, ...
- 常用的adb命令
在平时的工作中,会经常用到adb命令,在这里稍微整理了一下. 一.概要 1.什么是adb? adb全称为Android Debug Bridge,就是起到调试桥的作用.顾名思义,adb就是一个debu ...
- 将TP引擎改为smarty引擎
在common/config文件里设置'TMPL_ENGINE_TYPE'=>'Smarty'即可,但要注意,在模板文件里的css样式{}要用一对{literal}{/literal}标签包裹, ...
- js实现复制功能
JS 点击复制Copy 1.实现点击按钮,复制文本框中的的内容 1 <script type="text/javascript"> 2 function copyUrl ...