使用OpenCV玩家营造出一个视频控制(没有声音)
说明:OpenCV计算机视觉库,所以使用的图像或视频处理,因此,没有任何声音在播放视频的临时
软件:使用OpenCV制播放器(无声音)
功能说明:新建播放窗体。加入进度条能够拖动视频播放。
流程图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3F0aGFoYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
功能说明:
1. 新建进度条 cvCreatTrackbar("","",&,frames,callback)
2、获取总帧数 cvGetCaptureProperty(&,id)
double cvGetCaptureProperty( CvCapture* capture, int property_id );capture
视频获取结构。property_id 属性标识。能够是以下之中的一个:CV_CAP_PROP_FRAME_COUNT
- 视频文件里帧的总数
3.回调函数 cvSet(&。id, pos)
int cvSetCaptureProperty( CvCapture* capture, int property_id, double value )property_id
属性标识符。能够是以下之中的一个:CV_CAP_PROP_POS_FRAMES - 单位为帧数的位置(仅仅对视频文件有效)
源码:
#include”cv.h”
#include”highgui.h” int g_slider_position=0;
CvCapture* g_capture =NULL; void CvTrackcalllback(int pos)
{
cvSetCaptureProperty( g_capture, CV_CAP_PROP_POS_FRAMES, pos ); } int main(int argc, char** argv)
{
cvNamedWindow("Example3",CV_WINDOW_AUTOSIZE);
g_capture = cvCreateFileCapture("视频路径");
int frames = (int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT); if(frames!=0)
{
cvCreateTrackbar("Test","Example3",&g_slider_position,frames,CvTrackcalllback);
} IplImage* frame;
while(1)
{
frame = cvQueryFrame(g_capture)
cvShowImage("Example3",frame);
cvWaitKey(0);
}
return 0;
}
执行结构截图例如以下:
有问题,愿意与大家交流!
{E6S4.jpg)
{E6S4.jpg)
版权声明:本文博客原创文章,博客,未经同意,不得转载。
使用OpenCV玩家营造出一个视频控制(没有声音)的更多相关文章
- Opencv如何捕获摄像头视频-OpenCV步步精深
捕获摄像头实时图像 这一点非常非常重要,因为这一点关乎了以后我们进行各种各样的识别(人脸识别,车牌识别等等有趣的识别).opencv提供了一个接口,可以轻松的让我们实现这个功能.我们先来看一段代码,根 ...
- opencv播放视屏并控制位置
原文地址:http://blog.csdn.net/augusdi/article/details/9000592 cvGetCaptureProperty是我们需要使用到的获取视频属性的函数. do ...
- 模仿UP主,用Python实现一个弹幕控制的直播间!
灵感来源 之前在B站看到一个有意思的视频: [B站][亦]终极云游戏!五千人同开一辆车,复现经典群体智慧实验 大家可以看看,很有意思. up主通过代码实现了实时读取直播间里的弹幕内容,进而控制自己的电 ...
- Android Audio控制和MediaButton远程控制(音视频控制配合)
使用过Android系统的朋友应该都知道,Android里面声音是区分好几种情况,每种情况下的音频大小是独立的.也就是说你调节了电话铃声大小不会影响多媒体播放的声音大小.这个涉及了AudioStrea ...
- Kafka+OpenCV 实现实时流视频处理
1. 启动Kafka Server bin/kafka-server-start.sh config/server.properties & 2. 创建一个新topic bin/kafka- ...
- C#写的一个视频转换解码器
C#写的一个视频转换解码器 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
- [ActionScript 3.0] AS3.0 让一个视频无缝循环播放的一个偏方
一个视频要循环播放,通常的办法都是播放完后再重新播放,但是不可避免的播放结束和重新开始播放这个时间点上会有停顿,如何解决这个问题,说个偏方吧! package com.views { import f ...
- iOS不得姐项目--推荐关注模块(一个控制器控制两个tableView),数据重复请求的问题,分页数据的加载,上拉下拉刷新(MJRefresh)
一.推荐关注模块(一个控制器控制两个tableView) -- 数据的显示 刚开始加载数据值得注意的有以下几点 导航控制器会自动调整scrollView的contentInset,最好是取消系统的设置 ...
- 我们的java基础到底有多差 一个视频引发的感想
以此文来警示自己. 大三要结束了. 我从大一下学期开始接触java,两年半了,期间有很努力的自学,也参与了一下项目,满以为自己的java基础应该不错,但今天在网上看了一个视频才发现自己学的是多么的&q ...
随机推荐
- SQL Server 2008 (R2) 单机版安装的先决条件
原文:SQL Server 2008 (R2) 单机版安装的先决条件 出自:http://blogs.msdn.com/b/apgcdsd/archive/2012/03/07/sql-server- ...
- ORACLE 创建表空间、用户、授权
1.创建表空间 create tablespace TEST logging datafile 'e:\app\administrator\oradata\orcl\TEST.dbf' size 1 ...
- Robot Framework 使用1-环境配置及简单网站兼容性测试(转)
0.Robot Framework 简介 Robot Framework 是一个通用的自动化测试框架,主要用于“验收测试”和“验收测试驱动开发(ATDD)” (会其它文章中会详细介绍ATDD).它使用 ...
- ORDER BY RAND()
大概是因为需要研究了一下MYSQL随机样本实现.例如:离tablename表随机抽取了创纪录,我们一般的写法是:SELECT * FROM tablename ORDER BY RAND() LIMI ...
- Shell编程入门(再版)(在)
简单的演示样本Shell规划 演示样例1. #!/bin/bash #This is to show what a shell script looks like echo "Our fir ...
- Scrum总结
Scrum总结一个轻量级的软件开发方法 Scrum是一个敏捷开发框架,是一个增量迭代的开发过程..在这个框架整个开发周期由若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的 ...
- ASP.NET Identity 身份验证和基于角色的授权
ASP.NET Identity 身份验证和基于角色的授权 阅读目录 探索身份验证与授权 使用ASP.NET Identity 身份验证 使用角色进行授权 初始化数据,Seeding 数据库 小结 在 ...
- JavaEE(18) - JPA原生SQL查询和存储过程
1. 使用原生SQL执行查询 2. 映射原生SQL查询的结果集 3. 使用原生SQL查询执行实体查询 4. 命名原生SQL查询 5. 在JPQL查询中调用存储过程
- Python3.2官方文件翻译-工具列表和十进制浮点计算
8.7 列表工具 许多数据结构需要通过内置列表类型来满足.但,有时候在不同的性能取舍需要选择一个实现. Array模块能提供一个像列表的array对象,它只能存储同类数据而且更加简洁. 接下来样例展示 ...
- Javascript中的深拷贝和浅拷贝
var obj = { a:1, arr: [1,2] }; var obj1 = obj; //浅复制 var obj2 = deepCopy(obj); //深复制 javascript中创建对象 ...