Navigation

Related Articles

Back to Latest Articles

Pillowを使って画像を合成する


press
Pillowを使って画像を合成する

Pillowを使って画像を合成する方法です。
GitHubリポジトリ

上の2つの画像を合成して、下の画像を生成します。

Pillowのインストール

$ pip install Pillow

バージョン確認

$ python -V
Python 3.7.0

$ pip freeze
Pillow==6.0.0

ディレクトリ構造

.
├── images  # 元画像フォルダ
│   ├── base.jpg
│   └── logo.png
├── paste.py
├── pasteimages  # 合成した画像の保存フォルダ
│   └── paste.png
└── venv

画像をリサイズ

from PIL import Image

base_image = Image.open('./images/base.jpg')
base_image.thumbnail((500, 500), Image.ANTIALIAS)

logo_image = Image.open('./images/logo.png')

w = ((base_image.size[0] - logo_image.size[0]) / 2)
h = ((base_image.size[1] - logo_image.size[1]) / 2)

base_image.paste(logo_image, (int(w), int(h)), mask=logo_image)

base_image.save('./pasteimages/paste.png', 'PNG', quality=100)

base_image = Image.open('./images/base.jpg')
背景画像を開く
base_image.thumbnail((500, 500), Image.ANTIALIAS)
画像の比率はそのままリサイズ(最大500px)
logo_image = Image.open('./images/logo.png')
合成用画像を開く
w = ((base_image.size[0] - logo_image.size[0]) / 2)
背景画像の横幅の中心を取得
h = ((base_image.size[1] - logo_image.size[1]) / 2)
背景画像の縦幅の中心を取得
base_image.paste(logo_image, (int(w), int(h)), mask=logo_image)
背景画像の中心に画像を合成
base_image.save('./pasteimages/paste.png', 'PNG', quality=100)
画像を保存


当ブログは群馬県でPython / Djangoを中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。

株式会社ファントムへのお問い合わせ




Show Comments (0)

Comments

Related Articles

Python

Pillowを使って画像をクロッピングする

Pillowを使って画像をクロッピングする方法です。ソースコードはGitHubにあげています。 Pillowのインストール バージョン確認 ディレクトリ構造 画像をクロッピング files = glob.glob('./ […]

Posted on by press
Python

Pillowを使って画像をリサイズする

Pillowを使って画像をリサイズする方法です。GitHubリポジトリ Pillowのインストール バージョン確認 ディレクトリ構造 画像をリサイズ files = glob.glob('./images/*')imag […]

Posted on by press