opencv视频保存
(一)、什么是视频保存?
本次课程讲:如果将我们通过电脑摄像头录取的视频进行代码保存到我们的文件中去,以及判断我们加载的图像是否被成功录入.
(二)、知道什么APL?
(1)、VideoWriter 类:可以将多个视频帧保存为文件.
1.1参数一为:输出文件(路径);
"E:\\视频\\out.mp4"
1.2参数二为:多媒体文件格式(int型);
JPMG(.mp4)、XVID(.val)
int coder =VideoWriter::fourcc('J','P','M','G');
1.3参数三为:视频帧度 (int型);25/24
1.4参数四为:清晰度(Size型(wideth,height));
获取本机电脑的清晰度:
int width = cap.get(CAP_PROP_FRAME_WIDTH);int height = cap.get(CAP_PROP_FRAME_HEIGHT);
1.5参数五为:色彩 (bool型)(true为真。0为假);
1.6总结:
VideoWriter vw("E:\\视频\\out.mp4",coder,25.0,Size(width, height),true);
(2)、write方法、写入文件(把frame写入文件中去)、并进行了压缩编码.
Videowrite的对象.write(图像);
vw.write(fram1);
(3)、release在关闭文件的时候,并强制把缓存区中的数据强制输出到磁盘中.
Videowrite的对象.release()
(三)、文章思路是什么?
首先我们要设置opencv的头文件、然后进行窗口设置,再然后建立VideoCapture对象获取我们的摄像机,然后设置VideoWriter保存文件对象、进行构造函数填充、然后进行while循环判断是否打开摄影设备成功,如果成功救读入数据帧,然后判断是否读入数据帧,如果读入数据帧,那么救开始展示图像,并进行写入操作,然后设置键盘等待时间为25,进行录制,最后
关闭摄影设备、关闭读入设备.
(四)、实战项目:
1.代码展现:
#include<iostream>#include<string.h>#include<opencv2/opencv.hpp>usingnamespace cv;usingnamespace std;intmain(){
Mat fram1;namedWindow("视频", WINDOW_AUTOSIZE);
VideoCapture cap(0);int coder =VideoWriter::fourcc('J','P','M','G');int width = cap.get(CAP_PROP_FRAME_WIDTH);int height = cap.get(CAP_PROP_FRAME_HEIGHT);
VideoWriter vw("E:\\视频\\out.mp4",coder,25.0,Size(width, height),true);//while(cap.isOpened())//假如说被打开就为真{//cap >> fram1;
cap.read(fram1);if(fram1.empty())break;imshow("视频", fram1);
vw.write(fram1);if(waitKey(25)==27)break;}
cout <<"已经退出程序!"<< endl;
cap.release();
vw.release();return0;}
2.效果展现
代码展现
版权归原作者 李在奋斗…… 所有, 如有侵权,请联系我们删除。