使用 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";
}
}
// 显示实时画面并等待一个键,超时时间足够长以显示图像
}
return -1; 0;
}
// 视频文件将在 VideoWriter 析构函数中自动关闭和释放
return 0;
cv::Mat::size
MatSize size
cv::Mat::empty
bool empty() const
cv::Mat::type
int type() const
cv::VideoCapture
从视频文件、图像序列或摄像头进行视频捕获的类。
cv::VideoCapture::read
virtual bool read(OutputArray image)
cv::VideoCapture::isOpened
virtual bool isOpened() const
cv::VideoCapture
cv::VideoWriter::open
cv::VideoWriter::write
virtual void write(InputArray image)
如果视频写入器已成功初始化,则返回 true。
core.hpp
#define CV_8UC3
定义 interface.h:90