【Python】一括で画像にウォーターマークを追加する方法

Pythonでの画像にウォーターマークを一括で追加する方法

概要

この記事では、Pythonを使用して複数の画像に一括でウォーターマークを追加する方法について紹介します。ウォーターマークは、画像に透かしとして追加され、画像の所有者やコピーライト情報を表示するために使用されます。PythonのPILライブラリを使用して画像処理を行い、ウォーターマークを追加します。

コンテンツ

  1. 必要なライブラリのインストール
  2. ウォーターマーク画像の準備
  3. 画像にウォーターマークを追加するコードの作成
  4. 画像の一括処理
  5. 実行と結果の確認

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ライブラリを使用して、複数の画像に一括でウォーターマークを追加する方法を紹介しました。ウォーターマークは、画像の所有者やコピーライト情報を表示するために使用されます。ウォーターマーク画像の準備と、指定したディレクトリ内の画像にウォーターマークを追加するコードを作成しました。実行することで、ウォーターマークが追加された画像が生成されます。

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x