PR

Pythonで画像の上部と下部をトリミングする方法

Pythonで画像の上部と下部をトリミングする方法

1. はじめに

画像処理は、さまざまなプロジェクトで必要とされる重要な作業の一つです。この記事では、PythonとPillowライブラリを使用して、画像の上部と下部をトリミングする方法を紹介します。このスクリプトを使用することで、複数の画像を一度に簡単にトリミングできます

2. 必要な環境設定

まず、Pythonがインストールされていることを確認してください。Pythonのインストール方法については、公式サイトを参照してください。また、画像処理に必要なPillowライブラリをインストールします。

以下のコマンドを実行してPillowをインストールします:

pip install pillow

3. コードの詳細解説

以下のPythonコードは、指定したディレクトリ内の画像をトリミングし、指定した出力ディレクトリに保存します。

from PIL import Image
import os

def crop_screenshot(image_path, output_path, top_crop, bottom_crop):
    """
    スクショ画像から上部と下部を削除する関数

    :param image_path: 入力画像のパス
    :param output_path: 出力画像のパス
    :param top_crop: 上部を削除するピクセル数
    :param bottom_crop: 下部を削除するピクセル数
    """
    with Image.open(image_path) as img:
        width, height = img.size
        new_height = height - top_crop - bottom_crop
        cropped_img = img.crop((0, top_crop, width, top_crop + new_height))
        cropped_img.save(output_path)

def process_images(input_dir, output_dir, top_crop, bottom_crop):
    """
    ディレクトリ内の複数の画像を処理する関数

    :param input_dir: 入力画像が保存されているディレクトリ
    :param output_dir: トリミングされた画像を保存するディレクトリ
    :param top_crop: 上部を削除するピクセル数
    :param bottom_crop: 下部を削除するピクセル数
    """
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)

    for filename in os.listdir(input_dir):
        if filename.lower().endswith(".png") or filename.lower().endswith(".jpg") or filename.lower().endswith(".jpeg"):
            input_path = os.path.join(input_dir, filename)
            output_path = os.path.join(output_dir, filename)
            crop_screenshot(input_path, output_path, top_crop, bottom_crop)

# 使用例
input_directory = "path/to/input/images"
output_directory = "path/to/output/images"
top_crop_pixels = 325  # 上部の削除するピクセル数
bottom_crop_pixels = 550  # 下部の削除するピクセル数

process_images(input_directory, output_directory, top_crop_pixels, bottom_crop_pixels)

4. サンプルコード

トリミング関数の設定

  • crop_screenshot: 画像の上部と下部をトリミングする関数です。image_pathoutput_pathtop_cropbottom_cropを引数に取ります。

ディレクトリの処理関数

  • process_images: 入力ディレクトリ内のすべての画像をトリミングし、出力ディレクトリに保存します。

使用例

  • input_directory: トリミングする画像が保存されているディレクトリのパス。
  • output_directory: トリミングされた画像を保存するディレクトリのパス。
  • top_crop_pixels: 上部の削除するピクセル数。
  • bottom_crop_pixels: 下部の削除するピクセル数。

5. 実行方法

  1. 上記のコードをコピーして、Pythonファイル(例:crop_images.py)として保存します。
  2. input_directoryoutput_directorytop_crop_pixelsbottom_crop_pixelsを自分の環境に合わせて設定します。
  3. ターミナルまたはコマンドプロンプトを開き、スクリプトを保存したディレクトリに移動します。
  4. 以下のコマンドを実行してスクリプトを実行します:
python crop_images.py

スクリプトが正常に実行されると、指定した出力先にトリミングされた画像が保存されます。

6. まとめ

Pythonで画像の上部と下部をトリミングする方法2

この記事では、PythonとPillowライブラリを使って画像の上部と下部をトリミングする方法を紹介しました。この方法を使えば、複数の画像を一度に簡単にトリミングすることができます。ぜひ、あなたのプロジェクトに役立ててください。

タイトルとURLをコピーしました