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

処理の流れ(アルゴリズム)
画像のトリミングは、以下の手順で行います。
- PillowからImageモジュールをインポートする
- 対象となる画像を読み込む
- crop()関数を使って画像をトリミングする
- 結果を表示する
事前準備
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のcrop()関数を使えば、わずか数行のコードで画像の任意の領域を簡単に切り抜くことができます。サムネイル作成や画像の前処理など、さまざまな場面で活用できる基本的なテクニックなので、ぜひマスターしておきましょう。
-
OpenCVのerode()関数を使って画像を侵食する方法
本記事では、OpenCVが提供するerode()関数を使って、画像に侵食(エロージョン)処理を適用する方法を解説します。画像の侵食とは、画像内の白い領域(前景)を縮小させる処理のことです。処理ではカーネル(構造要素)と呼ばれる小さな行列を使用し、カーネル内のピクセルが1つでも0(黒)であれば、そのカーネルに含まれるすべてのピクセルが0に設定されます。これにより、画像中の細かいノイズや小さなオブジェクトが取り除かれ、輪郭が収縮していきます。なお、侵食処理を適用する際は、対象画像がグレースケール画像であることが前提条件となります。カラー画像の場合は、あらかじめグレースケールへ変換しておきましょう。
-
OpenCVのblur()関数を使って画像をぼかす方法をわかりやすく解説
この記事では、OpenCVが提供するblur()関数を使用して、画像にぼかし(ブラー)処理をかける方法を解説します。blur()は画像処理の基本となるフィルタの一つで、ノイズ除去や画像の前処理など、さまざまな場面で活用されます。 処理の流れ(アルゴリズム) 画像をぼかすための手順は以下の通りです。 ステップ1:OpenCVをインポートする。 ステップ2:対象となる画像を読み込む。 ステップ3:カーネルサイズを設定する。 ステップ4:blur()関数を呼び出し、画像とカーネルサイズを引数として渡す。 ステップ5:結果を表示する。 元画像 今回使用するサンプル画像は以下の通りです。 サンプルコー