테스트 버전은 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;
}
리눅스에서 할 때는 그냥 됐는데, 윈도우에서 할 때는 비디오 생성에 문제가 있더라고요.
이때는 mp4 코덱을 설치하면 된다고 합니다.
'개발 관련 이야기' 카테고리의 다른 글
TCP 패킷 분리 현상 (0) | 2022.08.16 |
---|---|
VGG 논문 리뷰 (0) | 2022.08.09 |
명령어 모음 - Ubuntu 18.04 (0) | 2022.08.07 |
[NSIS] 자동실행 시 파라미터 전달 (0) | 2022.08.05 |
Window - 환경변수 설정 없이 Visual Studio에서 OpenCV 사용하기 (0) | 2022.08.04 |
댓글