4.1.4 동영상 파일 저장하기
OpenCV는 카메라 및 동영상 파일의 프레임을 받아 오는 기능뿐만 아니라 일련의 프레임을 동영상 파일로 저장하는 기능도 제공합니다. OpenCV에서 동영상 파일을 생성하고 프레임을 저장하기 위해서는 VideoWriter 클래스를 사용합니다. 간략화한 VideoWriter 클래스 정의를 코드 4-4에 나타냈습니다.
코드 4-4 간략화한 VideoWriter 클래스 정의
01 class VideoWriter 02 { 03 public: 04 VideoWriter(); 05 VideoWriter(const String& filename, int fourcc, double fps, 06 Size frameSize, bool isColor = true); 07 virtual ~VideoWriter(); 08 09 virtual bool open(const String& filename, int fourcc, double fps, 10 Size frameSize, bool isColor = true); 11 virtual bool isOpened() const; 12 virtual void release(); 13 14 virtual VideoWriter& operator << (const Mat& image); 15 virtual void write(const Mat& image); 16 17 virtual bool set(int propId, double value); 18 virtual double get(int propId) const; 19 20 static int fourcc(char c1, char c2, char c3, char c4); 21 ... 22 };
• 4~7행 VideoWriter 클래스의 생성자와 소멸자입니다.
• 9~12행 동영상 파일을 열거나 닫는 작업을 수행하는 멤버 함수입니다.
• 14~15행 동영상 파일에 프레임을 추가하는 기능의 멤버 함수입니다.
• 17~18행 현재 열린 동영상 파일로부터 정보를 가져오거나 설정하는 기능을 담당하는 함수입니다.
• 20행 VideoWriter::fourcc() 멤버 함수는 fourcc 코드를 생성하는 정적 멤버 함수입니다.