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 파일로 저장한 결과


적용 가능 분야: 

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