ImageMagick : 連番画像からGif作成
はじめに
連番画像からGifを作る方法を紹介します。
今回はImageMagickというアプリケーションを使用して、コマンドラインからGifを作成します。
ImageMagickのダウンロード
Gif 作成用 アプリケーション
ImageMagick-7.0.10-23-portable-Q16-x64.zipを展開すると、中にconvert.exeが入っています。
convert.exeを使うと連番イメージからgifが作成できます。
https://gyazo.com/eeb0c0390174a5ada6db4c3c6cb5fdbb
連番イメージからGifを作成する
ここに、Unity Recorderでキャプチャした連番イメージがあります。(image_*.jpg)
今回はこの連番イメージからGifを作成したいと思います。
https://gyazo.com/a7dde36ae86ad8aa33d9ac26da090312
image_*.jpgを読み、 フレーム間隔40msでgifを作成
(ImageMagickのzip展開先)/convert.exe -loop 0 -delay 4 image_*.jpg anim.gif
上記のコマンドを実行すると、image_*.jpgからanim.gifを作成してくれます。
https://gyazo.com/c30e2eceee1470e57d00c89d9c297308
最適化ありで作成
-layers optimize オプションをつけるとgifのファイルサイズが小さくなります(そのかわり、画像が汚くなるようです)
convert.exe -layers optimize -loop 0 -delay 4 image_*.jpg anim.gif
-layers optimizeなし : 27.2MB
-layers optimizeあり : 13.3MB
参考 : 連番画像から簡単にgifアニメを作る
Image Magickに指定する オプションの詳細は下記ページに載っているようです。
ImageMagick v6 Examples --Animation Basics
応用例 : サブフォルダの連番画像それぞれをGif化する
※convert.exeのパスは各自指定してください
code: make_gif_subfolder.ps1
$curDir = $pwd
# フォルダの一覧を取得
$folders = Get-ChildItem -Dir
# それぞれのフォルダの中にあるJPGを見てGif作成
foreach($folder in $folders)
{
# 開始メッセージを出してみる
Write-Host "Gifを作成します : " $folder.Name
# フォルダの中へ移動
cd $folder.FullName
# Gif作成(convert.exe)
convert -loop 0 -delay 4 image_*.jpg anim.gif
# 完了メッセージを出してみる
Write-Host "完了しました : ", $folder.Name
}
cd $curDir