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

Pillowライブラリを使って画像にメディアンフィルタ(MedianFilter)を適用する方法

この記事では、Pythonの画像処理ライブラリ「Pillow(PIL)」を使用して、画像にメディアンフィルタ(Median Filter)を適用する方法を解説します。

メディアンフィルタとは、画像内の選択したウィンドウ(領域)内にある各ピクセルの値を、そのウィンドウ内のピクセル値の中央値(メジアン)に置き換えるフィルタです。ごま塩ノイズなどのインパルス性ノイズの除去に特に効果があり、エッジを比較的保ちながら平滑化できる点が特徴です。Pillowでは、filter()関数を使うことで、さまざまな種類のフィルタを簡単に適用できます。

元画像

Pillowライブラリを使って画像にメディアンフィルタ(MedianFilter)を適用する方法

アルゴリズム

手順1:PillowからImageモジュールをインポートします。
手順2:対象となる画像を開きます。
手順3:filter()関数を呼び出し、メディアンフィルタを指定します。
手順4:処理結果を表示します。

サンプルコード

from PIL import Image, ImageFilter

im = Image.open('testimage.jpg')
im1 = im.filter(ImageFilter.MedianFilter(size = 7))
im1.show()

MedianFilter()size引数には、フィルタを適用するウィンドウのサイズを指定します。上記の例では7×7のウィンドウが使用されています。サイズを大きくすると平滑化の効果は強まりますが、その分画像の細部が失われやすくなるため、用途に応じて適切な値を選択することが重要です。

出力結果

Pillowライブラリを使って画像にメディアンフィルタ(MedianFilter)を適用する方法

  1. Pillowライブラリを使って画像の各チャンネル(バンド)のピクセル平均値を計算する方法

    この記事では、PythonのPillowライブラリを使用して、画像内の各チャンネル(バンド)に含まれるすべてのピクセル値の平均を計算する方法を解説します。一般的なカラー画像にはR・G・Bの3つのチャンネルが含まれているため、実行結果として3つの平均値がリスト形式で取得できます。 元画像 アルゴリズム 手順1: ImageモジュールとImageStatモジュールをインポートする。 手順2: 対象となる画像ファイルを開く。 手順3: 開いた画像をImageStatクラスのStat関数に渡す。 手順4: 各チャンネルのピクセル平均値を出力する。 サンプルコード from PIL import I

  2. Pillowライブラリを使って画像の各バンド(チャンネル)のピクセル中央値を計算する方法

    この記事では、PythonのPillowライブラリを使用して、画像の各チャンネル(バンド)に含まれる全ピクセルの中央値(MEDIAN)を計算する方法を解説します。 一般的なカラー画像には「R(赤)」「G(緑)」「B(青)」の3つのチャンネルが存在するため、実行結果として3つの値からなるリストが得られます。 元画像 アルゴリズム 処理の手順は以下の通りです。 ステップ1:ImageモジュールとImageStatモジュールをインポートする。 ステップ2:対象となる画像ファイルを開く。 ステップ3:開いた画像をImageStatクラスのstat関数に渡す。 ステップ4:ピクセルの中央値を出力する。