一个使用VideoCapture和VideoWriter类的示例
#include <iostream>
#include <stdio.h>
{
cerr << "错误!无法打开摄像头\n";
return -1; -1;
}
cap >> src;
cerr << "错误!获取到空帧\n";
return -1; -1;
}
int codec = VideoWriter::fourcc('M', 'J', 'P', 'G');
double fps = 25.0;
string filename = "./live.avi";
writer.
open(filename, codec, fps, src.
size(), isColor);
cerr << "无法打开输出视频文件进行写入\n";
return -1; -1;
}
cout << "正在写入视频文件: " << filename << endl
<< "按任意键终止" << endl;
for (;;) { (;;)
{
cerr << "错误!获取到空帧\n";
break;;
}
// 将帧编码到视频文件流中
// 显示实时画面并等待按键,超时时间足够显示图像
imshow("实时画面", src);
break;;
}
return -1; 0;
}
MatSize size
定义 mat.hpp:2177
bool empty() const
如果数组没有元素,则返回 true。
int type() const
返回矩阵元素的类型。
用于从视频文件、图像序列或摄像头捕获视频的类。
定义 videoio.hpp:766
virtual bool read(OutputArray image)
抓取、解码并返回下一视频帧。
virtual bool isOpened() const
如果视频捕获已初始化,则返回 true。
视频写入类。
定义 videoio.hpp:1065
virtual bool open(const String &filename, int fourcc, double fps, Size frameSize, bool isColor=true)
初始化或重新初始化视频写入器。
virtual void write(InputArray image)
写入下一视频帧。
virtual bool isOpened() const
如果视频写入器已成功初始化,则返回 true。
#define CV_8UC3
定义 interface.h:90
int main(int argc, char *argv[])
定义 highgui_qt.cpp:3