더북(TheBook)

4.1.3 동영상 파일 처리하기

대부분의 동영상 파일은 고유의 코덱(codec)을 이용하여 압축된 형태로 저장됩니다. 코덱은 복잡한 알고리즘을 이용하여 대용량 동영상 데이터를 압축하거나, 반대로 압축을 해제하여 프레임을 받아 오는 기능을 제공합니다. 복잡한 알고리즘으로 압축된 동영상 파일을 C/C++ 프로그램에서 불러오는 것은 결코 간단한 작업이 아닙니다. 그러나 OpenCV는 현재 널리 사용되고 있는 MPEG-4, H.264 등 코덱 해석 기능을 제공하기 때문에 VideoCapture 클래스를 사용하면 동영상 파일을 쉽게 불러와서 사용할 수 있습니다. OpenCV에서 동영상 파일을 다루는 방법은 앞서 살펴본 카메라 입력 처리하는 방법과 매우 비슷합니다.

동영상 파일을 다룰 때에도 우선 VideoCapture 객체를 생성해야 합니다. 그리고 VideoCapture::open() 멤버 함수를 이용하여 동영상 파일을 여는 작업을 수행합니다. 이때 사용하는 VideoCapture::open() 함수는 동영상 파일의 이름을 문자열 형태로 받게 됩니다. 예를 들어 현재 프로그램 작업 폴더에 video.mp4 파일이 있다면 다음과 같이 코드를 작성합니다.

VideoCapture cap;
cap.open("video.mp4");

이처럼 두 줄로 작성된 코드는 동영상 파일 이름을 인자로 갖는 VideoCapture 생성자를 이용하여 한 줄로 바꿔 쓸 수 있습니다.

VideoCapture cap("video.mp4");
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.