Pillowを使って画像を描画する方法

画像を描画して保存

Pythonで画像に矩形や文字を描画するためには、一般的にPillow(Python Imaging Library, PIL)というライブラリを使用します。
以下で、Pillowを使って画像に矩形と文字を描画する基本的な方法を紹介します。

インストール

pip install pillow

新規画像として描画する

矩形を描画する

from PIL import Image, ImageDraw

# 画像生成
width, height = 200, 200
image = Image.new("RGB", (width, height), "red")

# 描画オブジェクトの作成
draw = ImageDraw.Draw(image)

# 矩形を描画
draw.rectangle([50, 50, 150, 150], fill="white")

image.save("rectangel.jpg")
PIL Rectangel

矩形は[left, top, right, bottom]または、[(left, top), (right, bottom)]で指定します。

image.save()メソッドは画像を保存します。

文字を描画する

from PIL import Image, ImageDraw, ImageFont

# 画像生成
width, height = 200, 200
image = Image.new("RGB", (width, height), "red")

# 描画オブジェクトの作成
draw = ImageDraw.Draw(image)

# フォントの設定
font = ImageFont.truetype("NotoSansCJK-Regular.ttc", size=36)

# 文字を描画
draw.text((10, 10), "Danger!!", fill="white", font=font)

image.save("string.jpg")

PIL String

Ubuntuの場合、利用できるフォントはfc-listコマンドで確認できます。

画像の上に描画する

from PIL import Image, ImageDraw, ImageFont

# 画像読み込み
image = Image.open("sample.jpg")

# 描画オブジェクトの作成
draw = ImageDraw.Draw(image)

draw.rectangle([(500, 100), (1000, 400)], outline="red", width=2)

# フォントの設定
font = ImageFont.truetype("NotoSansCJK-Regular.ttc", size=36)

# 文字を描画
draw.text((510, 110), "Danger!!", fill="red", font=font)

image.save("draw-image.jpg")
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です