opencv学习笔记三十九:视频读写

 VideoCapture:视频抓取的类

VideoWriter :写视频的类

fps(frame per second)帧率:每秒抓取显示多少帧

#include<opencv2\opencv.hpp>
using namespace cv;

int main(int arc, char** argv) {
	VideoCapture capture(0);//打开摄像头
	//VideoCapture capture;//实例化一个类的对象
	//capture.open("vtest.avi");//打开视频
	if (!capture.isOpened()) {
		printf("could not load video data\n");
		return -1;
	}
	Size size = Size(capture.get(CV_CAP_PROP_FRAME_WIDTH),capture.get( CV_CAP_PROP_FRAME_HEIGHT));
	VideoWriter writer("write_demo.avi",-1, 10, size, false);
	Mat frame;
	while (capture.read(frame))//读取每一帧,读完自动返回false
	{
		
		writer.write(frame);//写视频
		namedWindow("frame");
		cvtColor(frame, frame, CV_BGR2GRAY);
		threshold(frame, frame, THRESH_BINARY | THRESH_OTSU,255,CV_8UC1);
		imshow("frame", frame);	
		char c = waitKey(100);//等待100ms
		if (c == 27) { break; }//按ESC退出
	}
	waitKey(0);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_24946843/article/details/82712823