Pillowライブラリで画像にMaxFilter(最大値フィルタ)を適用する方法
この記事では、Pythonの画像処理ライブラリ「Pillow」を使用して、画像に最大値フィルタ(MaxFilter)を適用する方法を解説します。
最大値フィルタとは、画像上の選択したウィンドウ(正方形の領域)内にある各ピクセルの値を、そのウィンドウ内の最大ピクセル値で置き換える処理のことです。このフィルタは、明るいノイズ(ソルトノイズ)の除去や、画像全体をわずかに明るくしたい場合などに役立ちます。
Pillowライブラリでは、filter()関数を使うことで、さまざまな種類のフィルタを簡単に適用できます。
元画像

処理の流れ(アルゴリズム)
ステップ1:PillowからImageモジュールをインポートする ステップ2:対象の画像を開く ステップ3:filter()関数を呼び出し、MaxFilterを指定する ステップ4:処理結果の画像を表示する
サンプルコード
from PIL import Image, ImageFilter
im = Image.open('testimage.jpg')
im1 = im.filter(ImageFilter.MaxFilter(size = 7))
im1.show()コードのポイント
- size引数: フィルタのウィンドウサイズを指定します。奇数である必要があり、値が大きいほど効果が強くなります(例:size=7の場合、7×7ピクセルの領域が対象)。
- show()メソッド: 処理後の画像をデフォルトのビューアで表示します。
実行結果

上記のコードを実行すると、各ピクセルが周囲7×7ピクセル領域内の最大値に置き換えられた画像が出力されます。その結果、暗い細部が抑えられ、画像全体がやや明るく滑らかな印象になります。
-
Pillowライブラリを使って画像の各チャンネル(バンド)のピクセル平均値を計算する方法
この記事では、PythonのPillowライブラリを使用して、画像内の各チャンネル(バンド)に含まれるすべてのピクセル値の平均を計算する方法を解説します。一般的なカラー画像にはR・G・Bの3つのチャンネルが含まれているため、実行結果として3つの平均値がリスト形式で取得できます。 元画像 アルゴリズム 手順1: ImageモジュールとImageStatモジュールをインポートする。 手順2: 対象となる画像ファイルを開く。 手順3: 開いた画像をImageStatクラスのStat関数に渡す。 手順4: 各チャンネルのピクセル平均値を出力する。 サンプルコード from PIL import I
-
Pillowライブラリを使って画像の各バンド(チャンネル)のピクセル中央値を計算する方法
この記事では、PythonのPillowライブラリを使用して、画像の各チャンネル(バンド)に含まれる全ピクセルの中央値(MEDIAN)を計算する方法を解説します。 一般的なカラー画像には「R(赤)」「G(緑)」「B(青)」の3つのチャンネルが存在するため、実行結果として3つの値からなるリストが得られます。 元画像 アルゴリズム 処理の手順は以下の通りです。 ステップ1:ImageモジュールとImageStatモジュールをインポートする。 ステップ2:対象となる画像ファイルを開く。 ステップ3:開いた画像をImageStatクラスのstat関数に渡す。 ステップ4:ピクセルの中央値を出力する。