スポンサーリンク
スポンサーリンク

【OpenCV】アルファブレンドで画像を徐々に変化させる【Python】

画像全体をアルファブレンド

 

サンゴ礁の海 | 無料の写真素材はフリー素材のぱくたそ
「サンゴ礁の海」のフリー素材

厳冬期の雪景色(天狗岳) | 無料の写真素材はフリー素材のぱくたそ
「厳冬期の雪景色(天狗岳)」のフリー素材

2つの画像はフリー画像ですので、ご自由にダウンロードしてください。

そして今回はこの2つの画像を使用します。

まずは全体的にアルファブレンドをしていきます。

とはいっても、やり方は非常に簡単です。

\(n = 変換した画素値\)

\(n1 = 元画像(1枚目)の画素値\)

\(n2 = 元画像(2枚目)の画素値\)

\(n = (n1 + n2) \div 2\)

足し合わせた画素値を半分の値にするという式でアルファブレンドができます。

(main.py)

 

徐々に変化させる

 

次はアルファブレンドの重みを変えながら、徐々に変化させるようにします。

\(a = 重み\)

\(n = (a \times n1 + (1 – a) \times n2)\)

 

この「\(a\)」の値を「X座標」の値によって変化させます。

\(a = x \div width\)

 

(main.py)

 

真ん中で急激に変化させる

 

次は、真ん中で急激に変化するようにします。

\(x^4 \div \displaystyle \frac{width}{1.6}^4\)

上記の式はグラフにすると以下のようになります。

重みの最大値は「1」となるため、グラフにおいても最大値は「1」となります。

プログラム上では、「1」より大きい値を等しく「1」にすることで画素値の乱れを防ぎます。

 

(main.py)

 

コメント