MATLABでgifアニメーションを作る
MATLABでfigureのgifアニメーションを作ろうとしたのですが、
なんとなく画像ファイル群からgifファイルを作りたいと思い、試行錯誤しました。
MATLABのsystem
関数でconvert
を呼び、画像ファイル群をgifファイルに変換します。
汎用性は高いのですが、設定がとても面倒です。
0. 手順
- Homebrewのインストール
- imagemagickをインストール
- ghostscriptをインストール
- Gifに変換する関数を作る
- 使用方法
-1. 手っ取り早く導入する
Homebrewのインストールが完了している前提です。
# (Terminalで) brew update brew install imagemagick brew install ghostscript
% (MATLABで) setenv('PATH', [getenv('PATH') ':/usr/local/bin']) ; setenv('DYLD_LIBRARY_PATH', '/usr/local/bin/') ;
function [succ] = HIImageConvert2GIF( regu_path, path_out, delay_ms ) if nargin < 3 delay_ms = 1000 ; end [status, cmdout] = system('convert') ; if status ~= 0 warning( cmdout ) ; succ = false ; return end delay = round( delay_ms / 10 ) ; [status, cmdout] = system(['convert -colorspace sRGB -loop 0 -delay ' num2str(delay) ' ' regu_path ' ' path_out]) ; if status ~= 0 warning( cmdout ) ; succ = false ; return end succ = true ;
5. 使用方法
使用例
% testフォルダ内のpngファイルをまとめてgifファイルにする HIImageConvert2GIF('test/*.png', 'test/test.gif', 400) ;