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

PillowライブラリのModeFilterを使って画像にモードフィルタを適用する方法


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

モードフィルタとは、画像上の選択したウィンドウ(範囲)内にある各ピクセルの値を、そのウィンドウ内で最も出現頻度の高い値(最頻値=モード)に置き換える処理のことです。これにより、画像内の細かいノイズが除去され、色が均一化された滑らかな仕上がりになります。

Pillowライブラリでは、filter()関数を使うことで、さまざまな種類のフィルタを簡単に適用できます。

元画像

PillowライブラリのModeFilterを使って画像にモードフィルタを適用する方法

アルゴリズム

ステップ1:PillowからImageをインポートします。
ステップ2:対象となる画像を開きます。
ステップ3:filter関数を呼び出し、ModeFilterを指定します。
ステップ4:出力結果を表示します。

サンプルコード

from PIL import Image, ImageFilter

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

コードのポイント

ModeFilter(size = 7)sizeパラメータには、フィルタを適用するウィンドウのサイズを指定します。この例では7×7ピクセルの正方形ウィンドウ内で最頻値を計算しています。show()メソッドを呼び出すことで、処理後の画像を画面に表示できます。

実行結果

PillowライブラリのModeFilterを使って画像にモードフィルタを適用する方法


  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:ピクセルの中央値を出力する。