说明: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 - 单位为帧数的位置(仅仅对视频文件有效)

源码:

  1. #includecv.h
  2. #includehighgui.h
  3.  
  4. int g_slider_position=0;
  5. CvCapture* g_capture =NULL;
  6.  
  7. void CvTrackcalllback(int pos)
  8. {
  9. cvSetCaptureProperty( g_capture, CV_CAP_PROP_POS_FRAMES, pos );
  10.  
  11. }
  12.  
  13. int main(int argc, char** argv)
  14. {
  15. cvNamedWindow("Example3",CV_WINDOW_AUTOSIZE);
  16. g_capture = cvCreateFileCapture("视频路径");
  17. int frames = (int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT);
  18.  
  19. if(frames!=0)
  20. {
  21. cvCreateTrackbar("Test","Example3",&g_slider_position,frames,CvTrackcalllback);
  22. }
  23.  
  24. IplImage* frame;
  25. while(1)
  26. {
  27. frame = cvQueryFrame(g_capture)
  28. cvShowImage("Example3",frame);
  29. cvWaitKey(0);
  30. }
  31. return 0;
  32. }

执行结构截图例如以下:

有问题,愿意与大家交流!

版权声明:本文博客原创文章,博客,未经同意,不得转载。

使用OpenCV玩家营造出一个视频控制(没有声音)的更多相关文章

  1. Opencv如何捕获摄像头视频-OpenCV步步精深

    捕获摄像头实时图像 这一点非常非常重要,因为这一点关乎了以后我们进行各种各样的识别(人脸识别,车牌识别等等有趣的识别).opencv提供了一个接口,可以轻松的让我们实现这个功能.我们先来看一段代码,根 ...

  2. opencv播放视屏并控制位置

    原文地址:http://blog.csdn.net/augusdi/article/details/9000592 cvGetCaptureProperty是我们需要使用到的获取视频属性的函数. do ...

  3. 模仿UP主,用Python实现一个弹幕控制的直播间!

    灵感来源 之前在B站看到一个有意思的视频: [B站][亦]终极云游戏!五千人同开一辆车,复现经典群体智慧实验 大家可以看看,很有意思. up主通过代码实现了实时读取直播间里的弹幕内容,进而控制自己的电 ...

  4. Android Audio控制和MediaButton远程控制(音视频控制配合)

    使用过Android系统的朋友应该都知道,Android里面声音是区分好几种情况,每种情况下的音频大小是独立的.也就是说你调节了电话铃声大小不会影响多媒体播放的声音大小.这个涉及了AudioStrea ...

  5. Kafka+OpenCV 实现实时流视频处理

     1. 启动Kafka Server bin/kafka-server-start.sh config/server.properties & 2. 创建一个新topic bin/kafka- ...

  6. C#写的一个视频转换解码器

    C#写的一个视频转换解码器 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

  7. [ActionScript 3.0] AS3.0 让一个视频无缝循环播放的一个偏方

    一个视频要循环播放,通常的办法都是播放完后再重新播放,但是不可避免的播放结束和重新开始播放这个时间点上会有停顿,如何解决这个问题,说个偏方吧! package com.views { import f ...

  8. iOS不得姐项目--推荐关注模块(一个控制器控制两个tableView),数据重复请求的问题,分页数据的加载,上拉下拉刷新(MJRefresh)

    一.推荐关注模块(一个控制器控制两个tableView) -- 数据的显示 刚开始加载数据值得注意的有以下几点 导航控制器会自动调整scrollView的contentInset,最好是取消系统的设置 ...

  9. 我们的java基础到底有多差 一个视频引发的感想

    以此文来警示自己. 大三要结束了. 我从大一下学期开始接触java,两年半了,期间有很努力的自学,也参与了一下项目,满以为自己的java基础应该不错,但今天在网上看了一个视频才发现自己学的是多么的&q ...

随机推荐

  1. hdu4362 dp + 单调队列优化

    dp传输方程很easy需要 dp[i][j] = min{dp[i - 1][k] + abs(pos[i][j] -pos[i - 1][j]) + cost[i][j]} n行m一排 每个传输扫描 ...

  2. HDU ACM 1290 献给杭电五十周年校庆的礼物

    解析: 1.n条直线把平面切割成的区域数为: f(n)=f(n-1)+n=n(n+1)/2+1; 2.把空间切割为最多区域数的时候,第n个平面与前(n-1)个平面相交.且无三面共线,因此该平面与前(n ...

  3. linux添加到普通用户sudo才干

    在超级用户模式添加到普通用户sudo才干 1. su -(进root用户) 2. chmod u+w /etc/sudoer 3. vim /etc/sudoers 于root ALL=(ALL) A ...

  4. Windows命令行命令集锦

    原文:Windows命令行命令集锦 转自:http://www.me2wg.com/bbs/forum.php?mod=viewthread&tid=15830 winver--------- ...

  5. 使用Java快速实现进度条(转)

    基于有人问到怎样做进度条,下面给个简单的做法: 主要是使用JProgressBar(Swing内置javax.swing.JProgressBar)和SwingWorker(Swing内置javax. ...

  6. SAP ABAP第一,两,三代出口型BADI实现 解释的概念

    BADI这是第三代用户出口型.让我们来看看如何实现的细节. 一个,用户出口的类型 1,第一代 sap提供了一个空的子程序代码.在这个过程分,用户可以添加自己的代码.为了控制自己的需求.这样的改进是需要 ...

  7. github中origin和upstream的区别(转)

    Fork,本身并不是git工具中的一个命令,也不是对git的扩展,它是在GitHub上的概念,是另一种clone方式——在服务器端的clone.而我们通常意义上的clone,是将远程repo 复制一份 ...

  8. PC结束 Spark 二次开发 收到自己主动,并允许好友请求

    本次Spark二次开发是为了客服模块的开发, 能让用户一旦点击该客服则直接自己主动加入好友.而客服放则需自己主动加入好友,不同弹出对话框进行允许,这方便的广大客服. 如今废话不多说,直接上代码. pa ...

  9. 有趣html5(两)----使用canvas结合剧本画在画布上的简单图(html5另一个强大)

    请珍惜劳动小编成果,这篇文章是原来小编,转载请注明出处. 于html5中能够使用canvas标签在画布上绘图,先直接上代码,这篇文章先简介一下canvas的用法.简单画几个圆,矩形,三角形,写字. 在 ...

  10. (大数据工程师学习路径)第三步 Git Community Book----Git基本用法(上)

    一.git的初始化 1.Git 配置 使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名. $ git config --global user.name &quo ...