본문 바로가기
개발 관련 이야기

OpenCV로 영상 녹화

by 꿈틀쓰 2022. 8. 8.

테스트 버전은 OpenCV 4.4.0. 입니다.

 

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

using namespace std;
using namespace cv;

int main(void)
{
	
	VideoCapture cap;		// get frames from camera
    VideoWriter writer;		// write video with frames
	Mat frame;

	cap.open(0);	// connect to camera
	cap >> frame;	// get a frame in advance to set width n height

	int codec = VideoWriter::fourcc('M', 'J', 'P', 'G');	// codec for avi
	double fps = 30.0;
	string v_name = "test1.avi";
	Size frame_size(frame.cols, frame.rows);

	if (!writer.open(v_name, codec, fps, frame_size))
	{
		cout << "failed!" << endl;
	}

	while (true)
	{
		cap >> frame;
		imshow("Video from Webcam", frame);		// keep showing frames from camera
		writer.write(frame);					// add a frame right after last frame

		char k = waitKey(5);					// wait for 5ms to get a key
		if ( k == 'q' || k == 'Q') break;		// if user press 'q' or 'Q', finish process
	}

	// release resources
	cap.release();
	writer.release();

	return 0;
}

saved avi video

리눅스에서 할 때는 그냥 됐는데, 윈도우에서 할 때는 비디오 생성에 문제가 있더라고요. 

이때는 mp4 코덱을 설치하면 된다고 합니다.

댓글