はじめに
本記事では、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形式で保存することも可能です。
まとめ
本記事では、matplotlibのFuncAnimationを用いて画像の複製アニメーションを作成する方法を紹介しました。この技術を応用することで、単一の画像から多様な視覚効果を生み出すことが可能です。
参考
mpl_toolkits.axes_grid1.axes_grid.ImageGrid — Matplotlib 3.10.6 documentation
コメント