Pythonで複数画像からGIFを作る時に便利な処理まとめ

  • このエントリーをはてなブックマークに追加

技術的なコードは時にGIF等で動きを付けて結果を出した方が理解が深まる場合があります。ここではPythonでGIFファイルを扱う時に便利な処理をまとめていきます。

こんにちは。wat(@watlablog)です。ここではPythonでGIFを扱う時の備忘録をとっていきます

GIF動画を作る時に便利な処理

複数画像からGIFを作るコード

matplotlibでは「Pythonのmatplotlibアニメーションで楕円の軌跡!」で紹介したように、直接GIF動画作成ができますが、個人的には画像の生成とGIF動画の作成は別々で覚えておいた方が便利だと思うので、個別に紹介します。

まずは以下のコードが基本のGIF作成関数です。
in_dirに置いた複数画像(連番にしておく必要あり)からGIFを作ります。

matplotlibでプロットを複数画像保存する

以下のコードはmatplotlibの.savefigでプロットを保存する部分を関数にした物です。ファイル名の決め方等、この方法が好きなのでここにメモします。

GIFにすると以下のような物が出来ます。

matplotlibのプロット

動画から静止画を抽出する

再生ボタンを押さないと動かない動画形式のファイルよりも、パワポとかに貼ると自動で動くGIFの方が欲しい時があります。

そんな時は以下のPythonコードで動画を静止画にしましょう。関数に入力動画のファイルパス、静止画を保存するフォルダパス、間引き数(何個飛ばしか)、静止画の拡張子をとる事が可能です。

このコードを実行すると、例えば以下のmp4動画が、

複数の画像になるので、上記GIF化コードでGIFファイル化する事が出来ます。

ちなみに、このコードはGIF画像を再び複数画像にする事も可能です。その場合は動画ファイルmov_pathにGIFファイルを指定して下さい。

まとめ

今回はコンパクトな内容ですが、以外と久々に使うと連番ファイル処理の部分とか、動画処理部分とかを忘れてしまう事があるため記事にしました。

GIF関連で新しい処理を覚えたらここにメモっていこうと思います。

これで動きのあるGIFファイルを自由に扱えそうです!
Twitterでも関連情報をつぶやいているので、wat(@watlablog)のフォローお待ちしています!

SNSでもご購読できます。

コメント

コメントを残す

*