opencv学习笔记三 视频处理序列(1)读取视频序列
2017-09-29 10:27
567 查看
读取视频序列
/********************************************************************************************** VideoCapture cap("D:/1.avi") 读取文件到cap cap.isOpened() 文件打开为真 double rate = cap.get(CV_CAP_PROP_FPS) 得到cap的double类型的帧率 cap.read(frame) 读取cap视频帧到frame,成功则返回真值 waitKey(delay) delay大于零返回-1(延时后,因为int a= waitKey(10)需要先延时10ms再赋值) ,有按键按下返回按键值 delay小于0返回-1,有按键按下返回按键值 cap.release() 关闭cap视频 **********************************************************************************************/ #include <iostream> #include "opencv2/opencv.hpp" using namespace std; using namespace cv; int main() { //VideoCapture cap("D:/1.avi"); //VideoCapture定义 视频文件 VideoCapture cap; //也可以用open方法 cap.open("D:/1.avi"); //检查是否成功打开 if (!cap.isOpened()) //cap.isOpened()为真则成功打开了文件 { cout << "Can not open a camera or file." << endl; return -1; } double rate = cap.get(CV_CAP_PROP_FPS); //cap.get(CV_CAP_PROP_FPS)获得视频的帧率,返回double型 bool stop(false); Mat frame; //定义帧 namedWindow("Extract frame"); //定义窗口 int delay = 1000 / rate; //每个帧相隔的时间 while (!stop) { if (!cap.read(frame)) //cap.read(frame)读取帧,成功则返回真值 break; imshow("Extract frame", frame); // if (waitKey(delay) >= 0) //waitKey(delay) 无按键返回-1,有按键返回按键值 stop = true; // } cap.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) **********************************************************************/
相关文章推荐
- OpenCV2学习笔记(九):视频流读取与处理
- 【OpenCV学习笔记 013】处理视频序列
- 【openCV学习笔记】【2】读取并播放一段视频
- 【OpenCV学习笔记】四、摄像头/视频的读取与写入
- Pythone OpenCV学习笔记之:视频文件读取与保存
- opencv学习系列:视频读取及自定义视频类处理
- OpenCV 3学习笔记(四)读取并播放视频
- OpenCV学习笔记(4)视频文件的读取与保存
- OpenCV(学习笔记6)-视频读取与显示
- python opencv入门(学习笔记no.3)-从摄像头读取视频并显示
- OPENCV学习笔记1-9_视频读取
- opencv学习——视频读取、处理、保存
- OpenCV学习笔记-读取视频文件
- opencv学习笔记 读取avi视频
- OpenCV2编程手册笔记之 10.2读取视频序列
- Opencv学习笔记----读取视频
- OpenCV学习笔记三:视频读取
- 【VS2010学习笔记】【函数学习】一(MFC+OpenCV2.4.7读取摄像头之WM_TIMER消息处理函数的添加问题)
- OpenCV入门_学习笔记_读取、显示、处理图像
- OpenCV学习笔记(4)视频文件的读取与保存(2010-01-23 更新)