2017-09-09 23:59:34

AVI 동영상 내의 각 프레임을 BMP 이미지 파일로 저장해보자. 우선 사용되는 AVI 동영상은 아래와 같다.



그러면 이제 여기에 있는 프레임들을 이미지들로 저장해보자. MATLAB 소스는 아래와 같다. 파란색으로 강조한 것들이 핵심 함수들이다. 


clc, clear, close all


v = VideoReader('zagreb.avi');

i = 1;


while hasFrame(v)

    frame = readFrame(v);

    imshow(frame)

    imwrite(frame, ['bmp images from avi video\', num2str(i), '.bmp']);

    i = i + 1;

end


소스를 간단히 설명하면 zagreb.avi라는 영상 파일을 읽고, 그 안에 있는 프레임들을 하나씩 읽어서 bmp images from avi video라는 폴더에 프레임 순서대로 1.bmp, 2.bmp, 3.bmp, ... 순으로 이미지 파일로 저장한다. 결과적으로 폴더 내에 bmp 이미지 파일들이 저장된 것을 아래 그림에서 확인할 수 있다. 


그림 1. avi 영상의 프레임들을 bmp 파일로 저장한 결과


적용 가능 분야: 

만약 소장하고 있는 영상의 한 장면을 이미지 파일로 저장하고 싶을 때 캡쳐하는 것보다 이런 방식을 사용한다면 좀 더 좋은 품질로 이미지를 소장할 수 있을 것 같다.