opencv播放器和摄像头视频播放
2019独角兽企业重金招聘Python工程师标准>>>
在看《学习opencv》这本书,按着其中的例子和写了一个播放器和摄像头播放,代码如下
#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <iostream>
#include <sstream>using namespace std;
using namespace cv;#define ESC 27CvCapture* g_cvFileCap = 0;
CvCapture* g_cvCameraCap = 0;
int g_pos = 0;int String2Int(const string& str_)
{int _re = 0;stringstream _ss;_ss << str_;_ss >> _re;return _re;
}void OnTrackbarSlide(int nPos_)
{cvSetCaptureProperty(g_cvFileCap, CV_CAP_PROP_POS_FRAMES, nPos_);
}int main(int argc, char* argv[])
{if (argc < 3){return -1;}int _re = String2Int(argv[1]);if (_re == 0){g_cvFileCap = cvCreateFileCapture(argv[2]);if (g_cvFileCap != NULL){cvNamedWindow("AVWidget");cvMoveWindow("AVWidget", 100, 100);int _nFrames = cvGetCaptureProperty(g_cvFileCap, CV_CAP_PROP_FRAME_COUNT);cvCreateTrackbar("Pos", "AVWidget", &g_pos, _nFrames, OnTrackbarSlide);while (1) {IplImage* _frame = cvQueryFrame(g_cvFileCap);if (_frame != NULL){if (ESC == waitKey(1000 / 25)){break;}cvSmooth(_frame, _frame);cvShowImage("AVWidget", _frame);cvSetTrackbarPos("Pos", "AVWidget", g_pos++);}}}cvReleaseCapture(&g_cvFileCap);} else {int _index = String2Int(argv[2]);g_cvCameraCap = cvCreateCameraCapture(_index);if (g_cvCameraCap != NULL){cvNamedWindow("CamWidget");cvMoveWindow("CamWidget", 100, 100);while (1) {IplImage* _frame = cvQueryFrame(g_cvCameraCap);if (_frame != NULL){if (ESC == waitKey(1000 / 25)){break;}cvSmooth(_frame, _frame);cvShowImage("CamWidget", _frame);}}}cvReleaseCapture(&g_cvCameraCap);}return 0;
}
通过传入参数实现打开那个视频和摄像头,当参数为 0 xxxx时,打开视频,参数为1 x打开第几个摄像头。
效果行。打开摄像头就算了。
其实使用opencv很方便。通过cvCreateFileCapture和cvQueryFrame就完成了视频文件的读取。操作摄像头唯一的不同是cvCreateCameraCapture,很方便。
转载于:https://my.oschina.net/u/854744/blog/418534
opencv播放器和摄像头视频播放相关推荐
- vue中使用HKPlayer播放器连接摄像头监控
vue中使用HKPlayer播放器连接摄像头监控 效果图 可以控制摄像头移动 代码 <template><div style="user-select: none;&quo ...
- html选择本地文件视频并播放器,使HTML5视频播放器播放不同的文件(Make a HTML5 video player play a different file)...
使HTML5视频播放器播放不同的文件(Make a HTML5 video player play a different file) 在播放视频时,我无法让HTML5播放器播放不同的视频,我尝试更改 ...
- android万能播放器,Android万能视频播放器05-音视频同步
1.概念 由于视频播放器中音频和视频是分别播放和渲染的,就会出现声音和画面不同步的现象.为了使同一时刻声音和画面的一致性,我们就需要音视频同步来实现,这就是音视频同步. 2.播放时间 2.1.音频播放 ...
- debian Squeeze 安装Rhythmbox音乐播放器,mplayer,smplayer视频播放器.
1.安装rhythmbox #apt-get install rhythmbox 2.安装python-mutagen 解决播放器歌曲的中文乱码问题 #apt-get install python-m ...
- android 播放器封装,Android视频播放最全总结:MediaPlayer+TextureView封装一个完美实现全屏、小窗视频播放器,附项目源码...
原标题:Android视频播放最全总结:MediaPlayer+TextureView封装一个完美实现全屏.小窗视频播放器,附项目源码 作者:xiaoyanger 来源:http://www.jian ...
- 千影-java万能播放器(java视频播放器)
千影播放器使用java 开发,内核基于mplayer,支持所有音视频格式,资源占用率低,界面简洁美观,除具备一般播放器的功能外,还有很多创新功能,比如媒体管理器,画中画搜索,急速拖动,精确定位,最简界 ...
- 使用flv播放器 Vcastr 网页视频播放器代码中的参数说明
使用方法: 方法一.js嵌入 直接copy下面代码,修改其中红色部分,即:swf_width.swf_height.texts.files 参数 <script type="text/ ...
- OpenCV播放视频-----滚动条随着视频播放移动代码
学习OpenCV,使用highGUI工具包实现视频的播放控制,使滚动条随着视频播放移动 代码如下: #include "highgui.h" #include "dire ...
- unity android 播放器,Unity3D 安卓视频播放插件 WRP Android Video Player Pro
通过这个安卓视频播放插件,你可以在你的Unity3D 项目中针对很容的播放视频. Easily play videos in your Unity Android Projects with this ...
最新文章
- Remove Duplicates from Sorted Array II -- LeetCode
- 马虎的算式 - 蓝桥杯
- 三星自动驾驶汽车路测获批,进军无人驾驶领域
- [Tips on Ember 2] 如何尝试 angle-bracket component
- spring getbean 方法分析
- 网络直播“黑科技”:Stream Matrix
- miniob :相关环境配置
- 7-169 汉密尔顿回路 (25 分)
- MFC1、动态创建CButton
- 神经网络常用激活函数总结
- 【TWVRP】基于matalb模拟退火算法求解带时间窗的车辆路径规划问题【含Matlab源码 160期】
- 如何提取PDF文件中的图片
- 3D数学基础:向量运算
- Innovus/ICC2在命令行窗口打开GUI界面的命令
- 【牛客网】---字符集合
- python同时赋值_Python将多个变量赋值为同一个值?列表行为
- 记住下次看小电影前,一定要检查域名是不是 HTTPS 的!
- 华为mt2l01 android5.1,华为MT2-L02/MT2-L01是什么型号手机?
- A. A Blend of Springtime
- 利用教育网站源码进行网校平台搭建,如何留住学生用户?