Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pillowライブラリを使ってPythonで画像をトリミングする方法

この記事では、Pythonの画像処理ライブラリ「Pillow」を使用して、画像をトリミング(切り抜き)する方法を解説します。トリミングにはcrop()関数を使用します。この関数は、左(left)・上(top)・右(right)・下(bottom)の4つのピクセル座標を引数として受け取り、その範囲で画像を切り抜きます。

元画像

Pillowライブラリを使ってPythonで画像をトリミングする方法

処理の流れ(アルゴリズム)

画像のトリミングは、以下の手順で行います。

  1. PillowからImageモジュールをインポートする
  2. 対象となる画像を読み込む
  3. crop()関数を使って画像をトリミングする
  4. 結果を表示する

事前準備

Pillowがインストールされていない場合は、以下のコマンドでインストールしておきましょう。

pip install Pillow

サンプルコード

以下のコードでは、画像のサイズを取得したうえで、指定した座標範囲で画像を切り抜いています。

from PIL import Image

im = Image.open('testimage.jpg')
width, height = im.size

left = 5
top = height / 2
right = 164
bottom = 3 * height / 2

im1 = im.crop((left, top, right, bottom))
im1.show()

コードのポイント

  • Image.open():指定したファイルパスから画像を読み込みます。
  • im.size:画像の幅(width)と高さ(height)をタプル形式で取得できます。
  • crop((left, top, right, bottom)):切り抜く範囲を4つの座標値のタプルで指定します。
  • show():トリミング後の画像をデフォルトのビューアで表示します。

実行結果

上記のコードを実行すると、指定した座標範囲で切り抜かれた画像が表示されます。

Pillowライブラリを使ってPythonで画像をトリミングする方法

まとめ

Pillowのcrop()関数を使えば、わずか数行のコードで画像の任意の領域を簡単に切り抜くことができます。サムネイル作成や画像の前処理など、さまざまな場面で活用できる基本的なテクニックなので、ぜひマスターしておきましょう。

  1. OpenCVのerode()関数を使って画像を侵食する方法

    本記事では、OpenCVが提供するerode()関数を使って、画像に侵食(エロージョン)処理を適用する方法を解説します。画像の侵食とは、画像内の白い領域(前景)を縮小させる処理のことです。処理ではカーネル(構造要素)と呼ばれる小さな行列を使用し、カーネル内のピクセルが1つでも0(黒)であれば、そのカーネルに含まれるすべてのピクセルが0に設定されます。これにより、画像中の細かいノイズや小さなオブジェクトが取り除かれ、輪郭が収縮していきます。なお、侵食処理を適用する際は、対象画像がグレースケール画像であることが前提条件となります。カラー画像の場合は、あらかじめグレースケールへ変換しておきましょう。

  2. OpenCVのblur()関数を使って画像をぼかす方法をわかりやすく解説

    この記事では、OpenCVが提供するblur()関数を使用して、画像にぼかし(ブラー)処理をかける方法を解説します。blur()は画像処理の基本となるフィルタの一つで、ノイズ除去や画像の前処理など、さまざまな場面で活用されます。 処理の流れ(アルゴリズム) 画像をぼかすための手順は以下の通りです。 ステップ1:OpenCVをインポートする。 ステップ2:対象となる画像を読み込む。 ステップ3:カーネルサイズを設定する。 ステップ4:blur()関数を呼び出し、画像とカーネルサイズを引数として渡す。 ステップ5:結果を表示する。 元画像 今回使用するサンプル画像は以下の通りです。 サンプルコー