VideoWriter函数用法
时间: 2024-01-17 22:03:46 浏览: 78
VideoWriter函数是OpenCV中用来创建视频的函数,其用法如下:
```c++
VideoWriter(const String& filename, int fourcc, double fps, Size frameSize, bool isColor=true)
```
其中,参数含义如下:
- filename:输出视频的文件名,可包含路径。
- fourcc:指定视频编解码器,可以使用`CV_FOURCC()`函数来指定,例如`CV_FOURCC('M', 'J', 'P', 'G')`表示使用MJPG编解码器。常用的编解码器还有H264、XVID等。
- fps:指定视频的帧率。
- frameSize:指定视频的宽度和高度。
- isColor:指定视频是否是彩色,默认为true。
使用示例:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 打开摄像头
VideoCapture cap(0);
// 定义输出视频的文件名、编解码器、帧率、分辨率
String filename = "output.avi";
int fourcc = CV_FOURCC('M', 'J', 'P', 'G');
double fps = 30.0;
Size frameSize(cap.get(CAP_PROP_FRAME_WIDTH), cap.get(CAP_PROP_FRAME_HEIGHT));
// 创建输出视频对象
VideoWriter writer(filename, fourcc, fps, frameSize);
// 循环读取摄像头的帧,并写入输出视频中
Mat frame;
while (cap.read(frame))
{
writer.write(frame);
imshow("Video", frame);
if (waitKey(1) == 27) break; // 按ESC键退出程序
}
// 关闭输出视频对象和摄像头
writer.release();
cap.release();
return 0;
}
```
阅读全文