OpenCV4.0入门(12)视频读写

知识点:

1、VideoCapture 视频文件读取、摄像头读取、视频流读取

2、获取视频的相关属性

- CAP_PROP_FRAME_HEIGHT    // 高

- CAP_PROP_FRAME_WIDTH    // 宽

- CAP_PROP_FRAME_COUNT    // 总帧数

- CAP_PROP_FPS    // 帧率

3、VideoWriter 视频写出、文件保存

 

注意事项:

OpenCV 不支持音频编码与解码保存,不是一个音视频处理的库!主要是分析与解析视频内容。保存文件最大支持单个文件为2G。

 

#ifndef DAY12
#define DAY12

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

void day12() {

	VideoCapture capture;
	// 打开本地的视频文件
	//capture.open("G:\\opencvTest\\video.mp4");
	// 打开摄像头,0是电脑自带的摄像头,序号依次递增为外接摄像头
	capture.open(1);

	if (!capture.isOpened()) {
		cout << "could not open this capture.." << endl;
	}

	int width = static_cast<int>(capture.get(CAP_PROP_FRAME_WIDTH));
	int height = static_cast<int>(capture.get(CAP_PROP_FRAME_HEIGHT));
	int count = static_cast<int>(capture.get(CAP_PROP_FRAME_COUNT));
	int fps = static_cast<int>(capture.get(CAP_PROP_FPS));
	cout << "分辨率:(" << width << "x" << height << ") " << endl;
	cout << "总帧数:" << count << endl;
	cout << "帧率:" << fps << endl;

	int type = static_cast<int>(capture.get(CAP_PROP_FOURCC));
	VideoWriter writer("G:\\opencvTest\\video.mp4", type, fps, Size(width, height), true);

	Mat frame;
	while (capture.read(frame)) {
		imshow("capture_video", frame);
		writer.write(frame);
		// 监听键盘事件,按Esc退出
		char c = waitKey(50);
		if (c == 27) {
			break;
		}
	}

	// 释放资源
	writer.release();
	capture.release();
}

#endif // !DAY12

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Apple_Coco

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值