はじめに
このページでは、matplotlib.pyplot の imshow 関数を使用して2つの画像をアルファブレンドする方法について説明します。アルファブレンドは、透明度を調整して複数の画像を重ね合わせる技術です。
コード&解説
モジュールのインポート
バージョン
画像の読み込み
すみれ丸と兜丸の画像を読み込みます。両画像のサイズはいずれも(800, 800, 3)です。
画像を表示
読み込んだ画像を表示すると以下のようになります。

透明度用の2d配列の作成
透明度(アルファ)用の配列を np.linspace と np.repeat を使用して作成します。alpha2 は alpha1 を反転させた配列となります。
透明度用の画像を表示
透明度(アルファ)用の画像は以下のようになります。

RGBA画像の作成
RGB配列に透明度の配列(A配列)をnp.dstack()で結合し、RGBA配列を作成します。この方法で作成したRGBA画像は以下のようになります。

アルファブレンド
上の画像を同じ図中に表示すればアルファブレンド画像となります。

参考
numpy.dstack — NumPy v2.3 Manual
アルファブレンド - Wikipedia
コメント