본문 바로가기
Major/Programming

Matlab에서 figure를 동영상 avi 파일로 만들기

by 알 수 없는 사용자 2019. 7. 17.
반응형

MATLAB의 가장 강력한 무기 중 하나가 data를 그림으로 plot하기 편하다는 점이다. 간혹 시간에 따라 변화하는 상태를 for문같은 반복 명령어를 사용해서 plot 명령어를 실행한 경우, 이를 동영상으로 저장해서 발표자료에 넣고 싶은 경우가 생기기 마련이다.

참고로 MATLAB2012 버전 즘에는 movie2avi라는 함수를 사용할 수 있었지만, 2016년 버전부터 VideoWriter라는 함수를 사용해야 한다.


Z = peaks;                            % plot할 data 생성

surf(Z)

axis tight manual;

set(gca, 'nextplot', 'replace children');


v = VideoWriter('peaks.avi'); % peas.avi라는 동영상 파일을 만들기 위해서 video writer object를 생성

open(v);                                % video writer object을 연다


for k = 1:20 

   surf(sin(2*pi*k/20)*Z,Z)    % k를 증가시키며 원하는 data를 plot함

   frame = getframe(gcf);    % figure로부터 frame 정보를 가져옴

   writeVideo(v,frame);        % frame 정보를 파일에 저장함

end


close(v);                                % video writer object를 닫는다.


위 코드로 만든 동영상 파일은 다음과 같다.


반응형

댓글