cv::VideoWriter output的使用
时间: 2024-09-18 10:05:00 浏览: 40
`cv::VideoWriter`是OpenCV库中的一个类,用于将视频流输出到文件。它主要用于保存计算机视觉应用中的实时视频捕获或者处理后的结果。以下是创建`cv::VideoWriter`对象并使用的基本步骤:
1. 包含必要的头文件:
```cpp
#include <opencv2/videoio.hpp>
```
2. 初始化`VideoWriter`,通常需要提供以下参数:
- `filename`: 要写入视频的文件名,如".avi"、".mp4"等;
- `fourcc`: 四字节编码表示视频编码格式,例如`IMWRITE_MPEG4_VIDEO_codec` for MP4;
- `frameSize`: 视频帧的大小,通常是`(width, height)`;
- `fps`: 框率(每秒帧数);
- `[other params]`: 可选的其他参数,比如对于MP4可能是压缩质量(如`cv::VideoWriter::fourcc('M','J','P','G')`, `cv:: VideoWriter::Params()`)。
示例:
```cpp
cv::Mat frame; // 假设已经有了处理好的帧
int fourcc = cv::VideoWriter::fourcc('M', 'J', 'P', 'G'); // 或者其他编码
double fps = 30.0;
cv::Size frameSize(640, 480);
cv::VideoWriter writer("output.mp4", fourcc, fps, frameSize);
// 写入每一帧
while (true) {
if (!writer.write(frame)) { // 如果写入失败(如已达到最大文件大小)
break;
}
}
// 记得关闭writer
writer.release();
```
阅读全文