Opencv学习笔记——视频进度条的随动
1、
CvCapture结构体:
CvCapture是一个结构体,用来保存图像捕获的信息,就像一种数据类型(如int,char等)只是存放的内容不一样,在OpenCv中,它最大的作用就是处理视频时(程序是按一帧一帧读取),让程序读下一帧的位置,CvCapture结构中,每获取一帧后,这些信息都将被更新,获取下一帧回复。
2、
以下是OpenCV属性的一些宏定义:
CV_CAP_PROP_POS_MSEC //影片目前位置,为毫秒数或者视频获取时间戳
CV_CAP_PROP_POS_FRAMES //将被下一步解压/获取的帧索引,以0为起点
CV_CAP_PROP_POS_AVI_RATIO //视频文件的相对位置(0 - 影片的开始,1 - 影片的结尾)
CV_CAP_PROP_FRAME_WIDTH //视频流中的帧宽度
CV_CAP_PROP_FRAME_HEIGHT //视频流中的帧高度
CV_CAP_PROP_FPS //帧率
CV_CAP_PROP_FOURCC //表示codec的四个字符
CV_CAP_PROP_FRAME_COUNT // 视频文件中帧的总数
CV_CAP_PROP_FORMAT
CV_CAP_PROP_MODE
CV_CAP_PROP_BRIGHTNESS
CV_CAP_PROP_CONTRAST
CV_CAP_PROP_SATURATION
CV_CAP_PROP_HUE
CV_CAP_PROP_GAIN
CV_CAP_PROP_EXPOSURE
CV_CAP_PROP_CONVERT_RGB
CV_CAP_PROP_WHITE_BALANCE
CV_CAP_PROP_RECTIFICATION
#include "stdafx.h"
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include "cv.h"
using namespace cv;
using namespace std; int g_slider_position = 0,temp;//滚动位置条变量和记录变量
CvCapture *g_captrue = NULL;//首先创建一个结构体指针并置空
void onTrackbarSlide(int pos)//定义创建滚动条函数
{
cvSetCaptureProperty(g_captrue, CV_CAP_PROP_POS_FRAMES,
pos);
temp = g_slider_position;
} int main(int argc,char **argv)
{
cvNamedWindow("title",CV_WINDOW_AUTOSIZE);
g_captrue = cvCreateFileCapture("sample.avi");
int frames = (int)cvGetCaptureProperty(g_captrue,
CV_CAP_PROP_FRAME_COUNT);
if (frames != 0)
{
cvCreateTrackbar("Position","title",
&g_slider_position, frames, onTrackbarSlide);
}
IplImage *frame;
while (1)
{
frame = cvQueryFrame(g_captrue);
if (!frame)//视频播放完毕就退出
break;
cvShowImage("title", frame);//显示当前一帧图像
char c = cvWaitKey(30);//等30ms cvSetTrackbarPos("Position","title",temp++);
//进度条位置++ if (c == 27)//若获取按键Esc(内码为27)则返回
break;
}
cvReleaseCapture(&g_captrue);//释放指针
cvDestroyWindow("title");//删除视频窗口
return 0;
}
Opencv学习笔记——视频进度条的随动的更多相关文章
- Android学习笔记:进度条ProgressBar的使用以及与AsyncTask的配合使用
ProgressBar时android用于显示进度的组件.当执行一个比较耗时的操作(如io操作.网络操作等),为了避免界面没有变化让用户体验降低,提供一个进度条可以让用户知道程序还在运行. 一.Pro ...
- Android学习笔记- ProgressBar(进度条)
本节引言: 本节给大家带来的是Android基本UI控件中的ProgressBar(进度条),ProgressBar的应用场景很多,比如 用户登录时,后台在发请求,以及等待服务器返回信息,这个时候会用 ...
- Android学习笔记(24):进度条组件ProgressBar及其子类
ProgressBar作为进度条组件使用,它还派生了SeekBar(拖动条)和RatingBar(星级评分条). ProgressBar支持的XML属性: Attribute Name Related ...
- OpenCV学习笔记——视频的边缘检测
使用Canny算子进行边缘检测,并分开输出到三个窗口中,再给每一个窗口添加文字 代码: #include"cv.h" #include"highgui.h" / ...
- Opencv学习笔记——视频高斯模糊并分别输出
用两个窗口进行对比 #include "stdafx.h" #include <iostream> #include <opencv2/core/core.hpp ...
- Bootstrap 学习笔记5 进度条媒体对象和well组件
代码: <ul class="media-list"> <li class="media"> <div class="m ...
- 【opencv学习笔记八】创建TrackBar轨迹条
createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数 ...
- paper 93:OpenCV学习笔记大集锦
整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...
- (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU
首页 视界智尚 算法技术 每日技术 来打我呀 注册 OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...
随机推荐
- 【Web应用-大文件部署】上传超过 2M 的文件到 Azure PHP 网站失败
问题描述 上传超过 2M 的文件到 Azure PHP 网站失败. 问题分析 由于 PHP 本身默认上传文件的上限是 2M,所以当上传超过2M的文件时会报错. 解决方法 根据以下步骤进行配置: 在 s ...
- 使用ABAP编程实现对微软Office Word文档的操作
SAP ABAP里提供了一个标准的类CL_DOCX_DOCUMENT,提供了本地以".docx"结尾的微软Office word文档的读和写操作. 本文介绍了ABAP类CL_DOC ...
- 开源项目: circular-progress-button
带进度条显示的按钮, 其效果如下所示: 其由三部分动画组成: 初始状态->圆环状态->完成状态. 0. 实现从初始到圆环的简单实现: 继承自button 类, 设置其背景 public c ...
- C# Process.Start方法
System.Diagnostics.Process.Start(); 主要功能: 1.打开某个链接网址(弹窗). 2.定位打开某个文件目录. 3.打开系统特殊文件夹,如“控制面板”等. Proces ...
- [Vue warn]: Failed to mount component: template or render function not defined.解决方案
命名视图 vue router 里有一个 模式叫做 命名视图 本来一个页面里面只能有一个路由视图 对应 一个组件,现在可以多个路由视图 对应 多个组件. 出错点 点击标签之后,<router-v ...
- VS打包软件部署------ClickOnce应用安装 (各版本.net引导文件安装,再发布文档离线安装下载地址)
一.1.其他引导程序包:地址 https://msdn.microsoft.com/zh-cn/vstudio/bb898654.aspx 2.离线安装各版本.net下载版(各种语言):https: ...
- UISearchBar的使用
searchBar = [[UISearchBar alloc] initWithFrame: CGRectMake(0.0, 0.0, self.view.bounds.size.width, 40 ...
- 使用xib开发界面
使用xib开发界面 2015-02-02 10:03 编辑: suiling 分类:iOS开发 来源:jymn_chen‘s blog 纯代码写界面有时候会降低开发效率,对于一些通用简单的界面,例 ...
- React中 checkbox 与 label 标签的搭配
用<label>标签替代checkbox的点击样子,点击<label>实际上就是点击checkbox checkbox的checked值会跟着一起变 <input typ ...
- [LUOGU] 1717 钓鱼
题目描述 话说发源于小朋友精心设计的游戏被电脑组的童鞋们藐杀之后非常不爽,为了表示安慰和鼓励,VIP999决定请他吃一次"年年大丰收",为了表示诚意,他还决定亲自去钓鱼,但是,因为 ...