Pythonでいろいろやってみる

Pythonを使った画像処理や機械学習などの簡単なプログラムを載せています。

少しずつ画像が切り替わる動画

ある画像から別の画像に少しずつ切り替わる(オーバーラップ)アニメーションを作ります。 画像処理にはライブラリPillowを用い、PIL.Image.blendメソッドで2つの画像を比率を変えてブレンドすることで少しずつ切り替わるように見せます。

関連記事

画像を描画しアニメーションGIFを作成する

環境
  • windows10 home
  • Anaconda 3/ jupyter notebook 5.6.0
  • Python 3.7.0
  • Pillow 5.2.0
準備

切り替わる2つの画像はフリー写真素材ぱくたそからダウンロードさせていただき、jupyter notebookファイル(***.ipynb)と同じディレクトリに保存しました。

f:id:T_A_T:20210701211851j:plain
man.jpg

f:id:T_A_T:20210701211904j:plain
woman.jpg

コード
from PIL import Image

# 画像読み出し
im1 = Image.open('man.jpg')
im2 = Image.open('woman.jpg')

img_list = []   # 画像保存用リスト

# αを0→1に変化させながらblend
for i in range(100):
    im3 = Image.blend(im2, im1, i/99)
    img_list.append(im3)

#アニメーションgifファイルを作成(1フレーム30ms,ループ)
img_list[0].save('overlap.gif', save_all=True, append_images=img_list[1:],
                   optimize=True, duration=30, loop=0) 

実行結果

f:id:T_A_T:20210701211921g:plain

以下のサイトを参考にさせていただきました

pillow > PIL.Image.blend(im1, im2, alpha)

ブログランキングに参加しています

にほんブログ村 IT技術ブログへ
にほんブログ村