はじめに
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]))
のように異なる透明度の配列と結合させて、クロスディゾルブなアニメとする。
参考
[matplotlib] 114. 画像のアルファブレンド
matplotlib.pyplotのimshowで2つの画像をアルファブレンドする方法について説明する。
matplotlib.animation.FuncAnimation — Matplotlib 3.9.2 documentation
コメント