1. HOME
  2. ブログ
  3. IT技術
  4. 【Python】ArtistAnimationを使って複数の図からアニメーションを作ってみた

【Python】ArtistAnimationを使って複数の図からアニメーションを作ってみた

ArtistAnimationでアニメーションに挑戦

1つのフォルダに入っている、たくさんの画像や図、写真を連続して表示させて、アニメーション的動画にしたい。

今回は、そんな方のために、コードをPythonで書いて行きたいと思います!

ArtistAnimationとは?

すでに出来上がってる図を、Python でアニメーション化する時の王道は「matplotlib」の「ArtistAnimation」でしょうか。

「matplotlib」からの「ArtistAnimation」の詳細な説明はコチラ!

【matplotlib:ArtistAnimation 説明サイト】
https://matplotlib.org/api/_as_gen/matplotlib.animation.ArtistAnimation.html

ArtistAnimation を使うと、沢山の「jpgファイル」や「pngファイル」を1つのフォルダに入れることで、Pythonで簡単に gifアニメにすることができます。

ちなみに、画像については、写真でもペイントソフトで書いた図でも、問題ありません。

ArtistAnimationの説明

複数の画像を動画化させる「matplotlib」の中の「ArtistAnimation」というコマンドは、下記の関数で出来ています。

ArtistAnimation(fig, artists [, interval] [, repeat delay] [, repeat] [, blit])

うち []  は、デフォルト値が入っていて、省略可能なパラメータです。

パラメータの詳細

各パラメータの意味はコチラになります。

fig

描画のサイズなど。

Figure。

artists

描画したい図のリスト。

list関数にしてください。

interval (option)

何ミリ秒ごとに図を変えるか。

デフォルトでは200ミリ秒ごと。

numberです。

repeat delay (option)

アニメーションを繰り返させる場合、終了から再開まで何ミリ秒にするか。

デフォルトでは0。

numberです。

repeat (option)

繰り返しをさせるかどうか。

TrueかFalseかで、デフォルトでは True の繰り返しアリになっています。

blit (option)

転送するかどうか。

TrueかFalseかで、デフォルトでは False になっています。

ArtistAnimationでアニメーションが完成

それでは、実際に「ArtistAnimation」を使ってみます。

まずは、動画化したい画像を1つのフォルダに入れます。

今回 Python で動画にするのは、下の電磁場解析に関する5つの画像です。

これを「anime」という名前のフォルダに入れました。

この、フォルダに入れる画像の保存形式は、「png」でも「jpg」でも問題ないことを確認しています

ArtistAnimationデフォルト 軸ありアニメーション

あとは、下記のコードに「図の入ったフォルダ名」「読み込みたいファイル形式」「出来上がった動画の保存ファイル名」を入れるだけです。

gifアニメは、プログラムと同じフォルダに作成されます。

完成した動画

出来上がった動画はコチラ!

発表などに使いたいので、interval は「300」と長めにしました。

完成したアニメーションを改善

これでも動画としては、許容範囲かもしれません。

ですが、matplot なだけに、周りに余計な軸がついてしまっています。

そこで、「軸」や「数字」を消したコードはこちらになります。

完成した動画

出来上がりは、こんな感じになりました!

さいごに

いかがだったでしょうか?

ArtistAnimation は、Python で写真や図などを動画化するのに、最も簡単なコマンドの1つだと思います。

上のコードに、アニメーション化したいファイルが入った「フォルダ名」「ファイルの保存形式」「保存したいファイル名(変えなくてもいいです)」を入れるだけなので、とっても簡単です。

ちょっとしたプレゼン、発表などの時にも役立つのではないでしょうか?

ぜひ、ご参考くださいね!

こちらの記事もオススメ!

書いた人はこんな人

広告メディア事業部
広告メディア事業部
「好きを仕事にするエンジニア集団」の(株)ライトコードです!

ライトコードは、福岡、東京、大阪の3拠点で事業展開するIT企業です。
現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。
いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。

システム開発依頼・お見積もり大歓迎!

また、現在「WEBエンジニア」「モバイルエンジニア」「営業」「WEBデザイナー」「WEBディレクター」を積極採用中です!
インターンや新卒採用も行っております。

以下よりご応募をお待ちしております!
https://rightcode.co.jp/recruit

関連記事

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界を変える…! /

Androidエンジニア

\ みんなが使うアプリを創る /

iOSエンジニア