Pythonでの画像にウォーターマークを一括で追加する方法
概要
この記事では、Pythonを使用して複数の画像に一括でウォーターマークを追加する方法について紹介します。ウォーターマークは、画像に透かしとして追加され、画像の所有者やコピーライト情報を表示するために使用されます。PythonのPILライブラリを使用して画像処理を行い、ウォーターマークを追加します。
コンテンツ
- 必要なライブラリのインストール
- ウォーターマーク画像の準備
- 画像にウォーターマークを追加するコードの作成
- 画像の一括処理
- 実行と結果の確認
1. 必要なライブラリのインストール
まず、Pythonで画像処理を行うために、PIL(Python Imaging Library)ライブラリをインストールする必要があります。以下のコマンドを使用してインストールします。
pip install Pillow
2. ウォーターマーク画像の準備
ウォーターマークとして使用する画像を準備します。ウォーターマーク画像は、透明な背景を持ち、適切なサイズと位置に配置されていることが重要です。
3. 画像にウォーターマークを追加するコードの作成
以下のコードを使用して、指定したディレクトリ内のすべての画像にウォーターマークを追加します。
from PIL import Image
def add_watermark(input_image_path, output_image_path, watermark_image_path, position):
base_image = Image.open(input_image_path)
watermark = Image.open(watermark_image_path)
base_width, base_height = base_image.size
watermark_width, watermark_height = watermark.size
if position == 'top_left':
position = (0, 0)
elif position == 'top_right':
position = (base_width - watermark_width, 0)
elif position == 'bottom_left':
position = (0, base_height - watermark_height)
elif position == 'bottom_right':
position = (base_width - watermark_width, base_height - watermark_height)
else:
position = ((base_width - watermark_width) // 2, (base_height - watermark_height) // 2)
base_image.paste(watermark, position, watermark)
base_image.save(output_image_path)
4. 画像の一括処理
以下のコードを使用して、指定したディレクトリ内のすべての画像に対してウォーターマークを追加します。
import os
def add_watermark_to_directory(input_directory, output_directory, watermark_image_path, position):
if not os.path.exists(output_directory):
os.makedirs(output_directory)
for filename in os.listdir(input_directory):
if filename.endswith('.jpg') or filename.endswith('.png'):
input_image_path = os.path.join(input_directory, filename)
output_image_path = os.path.join(output_directory, filename)
add_watermark(input_image_path, output_image_path, watermark_image_path, position)
5. 実行と結果の確認
以下のコードを使用して、ウォーターマークを追加したい画像のディレクトリ、出力先ディレクトリ、ウォーターマーク画像のパス、ウォーターマークの位置を指定して実行します。
input_directory = 'images/'
output_directory = 'output/'
watermark_image_path = 'watermark.png'
position = 'bottom_right'
add_watermark_to_directory(input_directory, output_directory, watermark_image_path, position)
実行後、指定した出力先ディレクトリにウォーターマークが追加された画像が保存されます。確認してみてください。
まとめ
PythonのPILライブラリを使用して、複数の画像に一括でウォーターマークを追加する方法を紹介しました。ウォーターマークは、画像の所有者やコピーライト情報を表示するために使用されます。ウォーターマーク画像の準備と、指定したディレクトリ内の画像にウォーターマークを追加するコードを作成しました。実行することで、ウォーターマークが追加された画像が生成されます。