Opencv学习笔记之 视频
来源:互联网 发布:一年php工资7千 编辑:程序博客网 时间:2024/05/16 08:56
#include <opencv2\opencv.hpp>#include <iostream>using namespace std;int main(){ //打开视频文件 cv::VideoCapture Capture("D:\\1.avi"); //检查视频是否打开 if (!Capture.isOpened()) { return 1; } bool stop(false); //获取当前视频帧 cv::Mat frame; cv::namedWindow("Extracted Frame"); //获取帧率 double rate = Capture.get(CV_CAP_PROP_FPS); cout << "rate:" << rate << endl; //制定播放的帧数 double position = 10.0; Capture.set(CV_CAP_PROP_POS_FRAMES, position); //得到每帧之间的延迟 //与帧率对应 int delay = 1000 / rate; cout << "delay:" << delay << endl; //遍历每一帧 while (!stop) { //尝试读取下一帧 if (!Capture.read(frame)) { break; } cv::imshow("Extracted Frame", frame); //引入延迟,也可通过暂停键停止写法为:if (cv::waitKey(0)) //waitKey(delay) 无按键返回-1,有按键返回按键值 if (cv::waitKey(delay) >= 0) { stop = true; } //cv::waitKey(delay); } //关闭文件,亦可通过默认的析构完成 Capture.release(); return 0;}
/************************************************************
知识点:
1.打开视频
VideoCapture cap(“D:/1.avi”);
也可以用open方法打开
VideoCapture cap;
cap.open(“D:/1.avi”);
打开后需要判断是否成功打开
cap.isOpened() 成功打开为真
移动视频到特定的帧(跳至100帧)
double position = 100.0
capture.set(CV_CAP_PROP_POS_FRAMES, position)
以毫秒的方式指定位置播放
double time = 10.0
capture.set(CV_CAP_PROP_POS_MSEC, time)
指定相对位置进行播放(0.0对于开始,1.0对应结尾)
double position = 0.5
capture.set(CV_CAP_PROP_POS_AVI_RATIO, position)
参数设置成功则返回Ture
2.读取帧
在视频成功打开之后
可以反复调用read方法读取视频帧
cap.read(frame) 成功读取下一个帧则返回真值
也可以调用重载过的操作符
cap >> frame;
3.waitKey()
if (waitKey(delay) >= 0)
stop = true;
有按键按下则中断,没有按键按下则延时delay(ms)
************************************************************/
重点内容
- Opencv学习笔记之 视频
- OpenCV学习笔记之图像视频显示
- Opencv学习笔记----读取视频
- OpenCV学习笔记--视频读写
- OpenCV学习笔记2-视频
- opencv 学习之 视频读取
- opencv 学习之 视频存储
- OpenCV学习之播放视频
- OpenCV学习笔记之八(保存视频,录制视频,cvLoadImage的路径)
- openCV学习笔记(3)-- 写入视频
- opencv学习笔记 读取avi视频
- OpenCV学习笔记(三) 视频播放控制
- OpenCV学习笔记【3】:视频播放控制
- Opencv学习笔记——视频进度条
- 【opencv学习笔记2】播放AVI视频
- 【opencv学习笔记3】视频播放控制
- 【OpenCV学习笔记 013】处理视频序列
- opencv学习笔记(二)播放视频
- Java中两个日期的比较
- Alien Skin Exposure X3 3.0 简体中文完美汉化 最好的胶片效果滤镜
- js获取当前日期前后N天的方法
- POJ 2400 Supervisor, Supervisee KM求最小权
- MyEclipse 2017 CI 7安装与激活
- Opencv学习笔记之 视频
- java里面强引用和弱引用
- Spring Boot 学习笔记(三)
- 活动的使用how to build and use an activity
- 删除当前数据库所有的表 过程
- 【linux】串口编程(一)——配置串口
- Centos 7.x yum安装php5.6.X(最新版)
- 简单实现ArrayList功能
- 搜索系统11:协同过滤的数据源和遗留问题