Home > リソース > MATLABでアニメーション作成 > 12. アニメーションをAVI形式で保存
MATLABでアニメーション作成

12. アニメーションをAVI形式で保存

アニメーションをAVI形式で保存するためには、まずアニメーションループの中で「getframe」コマンドによってムービーフレームをキャプチャし、次にそのムービーフレームの配列を「movie2avi」コマンドによってAVI形式に変換します。下のコード1は、第3項で示した運動する点のアニメーションをAVI形式で保存するMATLABスクリプトです。望ましい結果を得るためには、時間刻み(Time data)や「movie2avi」のパラメータを調整する必要があるかもしれません。

animation_point_avisave.m
% animation_point_avisave.m

clear; close all;

% Create data
t = 0:0.01:1;    % Time data
x = sin(2*pi*t); % Position data

% Draw initial figure
figure(1);
set(gcf,'Renderer','OpenGL'); 
h = plot(x(1),0,'o','MarkerSize',20,'MarkerFaceColor','b');
set(h,'EraseMode','normal');
xlim([-1.5,1.5]);
ylim([-1.5,1.5]);

% Animation Loop
i = 1;
while i<length(x)
    set(h,'XData',x(i));
    drawnow;
    
    M(i) = getframe(1);
    
    i=i+1;
end

% Save in AVI format
movie2avi(M,'animation_point.avi','FPS',15,'COMPRESSION','Indeo5','QUALITY',100,'KEYFRAME',2);
コード1:運動する点のアニメーションをAVI形式で保存するMATLABスクリプト