- 動く画像GIFを簡単に作ってみたい方
- 見せ方を工夫したい方
- プレゼンテーションの時にもGIFは効果的です!
おいらのブログでは,ちょいちょいGIFが使われていると思いますが,今日はどのようにそれらを作っているのかを紹介します.
FFmpegを使用する
FFmpegという便利なツールを使用すると楽です.
FFmpegは慣れると沢山の画像ファイルを一つのコマンドでパパっと変換できちゃうので超絶楽です.
Macユーザなら「PicGIF Lite」でも良いと思いますが,画像ファイルを一つ一つカチカチやるのがめんどくさいです(そういう風にやってしまうおいらのせい...笑).
「動画→ GIF」ならPicGIF Liteも全然優秀なので試してみてください.
基本的にいくつかの画像ファイルをつなぎ合わせてGIFを作ると思いますが,まず要素となる画像を用意してください.
画像たちをファイルにまとめて名前をつけておく
保存場所はどこでも良いですが,このようにしておきます.
「figs」→「画像たち」
ターミナルでコマンド!
ターミナルから以下を実行してください.
もちろんファイル名は変更してくださいね.
1 | ffmpeg -i figs/overlap_0s_%03d.jpg -pix_fmt rgb24 -f gif output.gif |
- -i:入力するファイルの名前(figs/overlap_%03d.jpg)
- -pix_fmt:ピクセルフォーマット設定(rgb24)
- -f:出力するファイル名(output.gif)
出てきたGIF
こんな感じの残念な出力になってしましました笑
綺麗な画像を用意すると良いです.
FFmpegは動画も作れる
GIFだけではなく,画像ファイルから動画も作ることができます.
1 | ffmpeg -r 1 -i figs/overlap_0s_%03d.png -qscale 0 out.avi |
-rの後ろの1は,1秒間に何枚のフレーム画像を回転させるかです.
つまり,1にしておくと,1秒間に1枚の画像が流れます.
(60枚の画像で動画を作ろうとすると,60秒の動画が作れます)
参考:Pythonで回転する画像ファイルたちを作る
いちいちPythonで作る必要はないですが,理系の大学生なんかは,よくPythonでグラフを作る時が多いと思います(偏見...).
目を引きたいときや,情報を正確に見せたいときは,GIFの方が良い場合もありますよね.
そんな時にこれは便利です.
角度を変えながら画像を沢山作っていく方法です.
matplotlibのこちらのページを参考にしました.
1 2 3 4 5 | # rotate the axes and update for angle in range(0, 360): ax.view_init(30, angle) plt.draw() plt.savefig("figs/{0}_{1:03d}.jpg".format("overlap_0s", angle)) |
1度毎回して360枚の画像ファイルで保存されます.
保存先はfig以下の”overlap_0s_〇〇”になります.
〇〇は連番が入ります.
便利ですので使ってみてくださいねー!