静止画を繋げて動画作成

以前は movie2avi を使用していたが,公式によれば削除される予定とのこと.
movie2avi を使わない方法を以下に.getframe を使うところは変わらない.

% preallocate
fr(1:nframe) = struct('cdata',[],'colormap',[]);

% draw each step
for k = 1:nframe
    ... 
    fr(k) = getframe(gcf);
end

% make an animation
mv = VideoWriter(filename,'Uncompressed AVI');
mv.FrameRate = 5; % ← fpsと同じ
open(mv)
writeVideo(mv,fr)
close(mv)

videowriter には framerate をはじめ多くのプロパティがあるが,open をしてしまうと変更ができなくなるため事前に指定しておく必要がある.
MATLAB で動画を作成するよりは,全てFigureを画像ファイルで出力しておいて後で ffmpeg なりのコマンドでやる方が生産性高そう.


参考 MathWorks公式


Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2017-11-20 (Mon) 15:48:37 (2347d)