2枚の画像を斜めにカットして貼り合わせる
2枚の写真を斜めにカットして貼り合わせます。pythonの画像処理ライブラリPillowのcompositeメソッドを使い、2枚の写真とマスク画像により合成画像を作成します。
環境
- windows10 home
- Anaconda 3/ jupyter notebook 5.6.0
- Python 3.7.0
- Pillow 5.2.0
準備
画像ファイルはフリー写真素材ぱくたそからダウンロードさせていただき、jupyter notebookファイル(***.ipynb)と同じディレクトリに保存しました(画像サイズは2枚とも600x375)。
man.jpg
woman.jpg
コード
合成する2枚の画像と同じサイズの長方形の黒画像に白い台形のマスクを描き、2つの画像を合成します。
from PIL import Image, ImageDraw img1 = Image.open('man.jpg') img2 = Image.open('woman.jpg') mask = Image.new('L', (600, 375), 0) draw = ImageDraw.Draw(mask) draw.polygon([(420, 0), (180, 375), (600, 375), (600, 0)], fill=255) img = Image.composite(img1, img2, mask) img.save('woman_and_man.jpg', quality=95)
実行結果
以下のサイトを参考にさせていただきました
note.nkmk.me > Python, Pillowで二枚の画像をマスク画像に従って合成
Pythonの文法メモ > 【Pillow】ImageDrawモジュールによる直線、四角、円、多角形描画