[matplotlib animation] 107. 画像のクロスディゾルブアニメーション

matplotlib

はじめに

matplotlibのFuncAnimationで画像のクロスディゾルブアニメーションを表示する方法について説明する。

コード&解説

モジュールのインポート

バージョン

画像の読み込み

すみれ丸と兜丸の画像を読み込む。サイズはともに(800, 800, 3)となっている。

画像を表示

読み込んだ画像を表示すると以下のようになる。

透明度用配列の作成

透明度用の配列として1から0に変化する2D配列(alpha_a)を作成する。alpha_aはalpha_bを反転したものとなっている。各配列のサイズは(800, 800, 40)となっている。

クロスディゾルブアニメーションの表示

アニメーション関数の中で、ax.imshowでプロットしたim1に対してset_dataとすることで画像のアニメーションを作成する。set_dataするデータはnp.dstack((img1,alpha_a[:,:,i:i+1]))のように異なる透明度の配列と結合させて、クロスディゾルブなアニメとする。

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

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

参考

[matplotlib] 114. 画像のアルファブレンド
matplotlib.pyplotのimshowで2つの画像をアルファブレンドする方法について説明する。
matplotlib.animation.FuncAnimation — Matplotlib 3.5.0 documentation

コメント