保存された画像の周りの余白を削除する

PYTHON3 チュートリアル

保存された画像の余白を削除する方法

画像の編集では、余白を削除することが重要な場合があります。特にウェブサイトや印刷物において、画像の周囲の無駄なスペースを削除することで、デザインの美しさや効率を向上させることができます。この記事では、Pythonを使用して画像の余白を削除する方法を詳しく説明します。

必要なツールとライブラリ

画像の余白を削除するには、PythonのPillowライブラリを使用します。Pillowは、Python Imaging Library(PIL)の後継であり、画像処理のための強力なツールです。まず、Pillowをインストールする必要があります。

pip install Pillow

基本的なコード例

以下は、画像から余白を削除するための基本的なコード例です。このコードは、画像の四隅をスキャンして余白を検出し、それをトリミングします。

from PIL import Image, ImageChops

def trim_whitespace(image_path, output_path):
    image = Image.open(image_path)
    bg = Image.new(image.mode, image.size, image.getpixel((0, 0)))
    diff = ImageChops.difference(image, bg)
    bbox = diff.getbbox()
    if bbox:
        trimmed_image = image.crop(bbox)
        trimmed_image.save(output_path)

trim_whitespace('input.jpg', 'output.jpg')

このコードを実行すると、指定した画像から余白が削除され、新しい画像が保存されます。

カスタマイズされたトリミング

特定の色を余白としてトリミングする場合、以下のようにコードをカスタマイズできます。ここでは、白色の余白を削除します。

def trim_specific_color(image_path, output_path, color=(255, 255, 255)):
    image = Image.open(image_path)
    bg = Image.new(image.mode, image.size, color)
    diff = ImageChops.difference(image, bg)
    bbox = diff.getbbox()
    if bbox:
        trimmed_image = image.crop(bbox)
        trimmed_image.save(output_path)

trim_specific_color('input.jpg', 'output.jpg', color=(255, 255, 255))

このコードを使うことで、背景が特定の色である場合に、その色の余白をトリミングできます。

出力の確認

トリミング後の画像を確認するためには、Pythonのmatplotlibライブラリを使って画面に表示することができます。以下のコードを使って、画像を表示して確認しましょう。

import matplotlib.pyplot as plt

def show_image(image_path):
    image = Image.open(image_path)
    plt.imshow(image)
    plt.axis('off')
    plt.show()

show_image('output.jpg')

このコードを実行すると、トリミングされた画像が表示され、余白が正しく削除されたことを視覚的に確認できます。

まとめ

画像の余白を削除することは、デザインの一部として重要なプロセスです。PythonのPillowライブラリを使用することで、簡単に余白をトリミングし、画像を最適化することができます。これらのコード例を応用することで、さまざまな画像編集のニーズに対応できます。

保存された画像の周りの余白を削除するとは、画像ファイルの周囲に存在する余分な空白部分を取り除くことを指します。この余白を削除することで、画像をよりコンパクトに表示したり、印刷した際に余計な空間を省くことができます。一般的には、画像編集ソフトウェアを使用して、余白をトリミングすることで実現されます。余白を削除することで、画像の見栄えを向上させることができます。

購読
通知
0 Comments
Inline Feedbacks
View all comments