[matplotlib animation] 91. 画像の複製アニメーション

matplotlib

はじめに

本記事では、matplotlibのFuncAnimationを使用して、1枚の画像を複製し、アニメーション効果を加える方法について解説します。単一画像から動きのある表現を作り出す技術を学べます。

コード

解説

モジュールのインポート

バージョン

画像の読み込み

plt.imread関数で画像を読み込みます。この例では、両サイドから子株が生えたサボテンの画像を使用します。

画像を複製する関数

mpl_toolkits.axes_grid1 モジュールの ImageGrid を使用して画像を複製表示します。ImageGrid の詳細については下記記事をご参照ください。

[matplotlib] 19. mpl_toolkits.axes_grid1 の使い方(画像の表示)
Matplotlib の拡張モジュール mpl_toolkits.axes_grid1 を使って複数画像を効率的に表示する方法を解説。ImageGrid による整然としたレイアウト、スケールバー・カラーバーの追加など、科学計算や画像処理に役立つ可視化テクニックを紹介しています。

アニメーションの表示

図(fig)を作成し、アニメーション関数内でその図をクリアして再描画することでアニメーションを生成します。FuncAnimationを使用してアニメーションを表示します。フレーム数は10、インターバルは300msに設定し、合計3秒のアニメーションとなります。

HTML(ani.to_html5_video())を使用すると、Jupyter NotebookやJupyter Lab上にアニメーションを直接表示できます。

また、ani.save('ファイル名', writer="ffmpeg", dpi=100)でアニメーションをMP4形式で保存することも可能です。

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

まとめ

本記事では、matplotlibのFuncAnimationを用いて画像の複製アニメーションを作成する方法を紹介しました。この技術を応用することで、単一の画像から多様な視覚効果を生み出すことが可能です。

参考

mpl_toolkits.axes_grid1.axes_grid.ImageGrid — Matplotlib 3.10.6 documentation

コメント