Pillowライブラリを使って画像の各バンド(チャンネル)のピクセル中央値を計算する方法
この記事では、PythonのPillowライブラリを使用して、画像の各チャンネル(バンド)に含まれる全ピクセルの中央値(MEDIAN)を計算する方法を解説します。
一般的なカラー画像には「R(赤)」「G(緑)」「B(青)」の3つのチャンネルが存在するため、実行結果として3つの値からなるリストが得られます。
元画像

アルゴリズム
処理の手順は以下の通りです。
ステップ1:ImageモジュールとImageStatモジュールをインポートする。 ステップ2:対象となる画像ファイルを開く。 ステップ3:開いた画像をImageStatクラスのstat関数に渡す。 ステップ4:ピクセルの中央値を出力する。
サンプルコード
実際のコードは非常にシンプルです。ImageStat.Statクラスに画像オブジェクトを渡し、median属性を参照するだけで中央値を取得できます。
from PIL import Image, ImageStat
im = Image.open('image_test.jpg')
stat = ImageStat.Stat(im)
print(stat.median)
出力結果
[41, 43, 40]
この出力は、左から順にR・G・B各チャンネルにおける全ピクセル値の中央値を表しています。
補足:ImageStatモジュールについて
中央値とは、データを昇順に並べたときに中央に位置する値のことです。外れ値(極端に大きい・小さい値)の影響を受けにくいため、画像の明るさ傾向を把握する指標として平均値よりも適している場合があります。
なお、ImageStat.Statクラスではmedian以外にも、mean(平均値)、stddev(標準偏差)、extrema(最小値・最大値)、sum(合計値)など、さまざまな統計情報を簡単に取得できます。画像解析や前処理の品質チェックなどに幅広く活用できる便利なモジュールです。
-
Pillowライブラリを使って画像の各チャンネル(バンド)のピクセル平均値を計算する方法
この記事では、PythonのPillowライブラリを使用して、画像内の各チャンネル(バンド)に含まれるすべてのピクセル値の平均を計算する方法を解説します。一般的なカラー画像にはR・G・Bの3つのチャンネルが含まれているため、実行結果として3つの平均値がリスト形式で取得できます。 元画像 アルゴリズム 手順1: ImageモジュールとImageStatモジュールをインポートする。 手順2: 対象となる画像ファイルを開く。 手順3: 開いた画像をImageStatクラスのStat関数に渡す。 手順4: 各チャンネルのピクセル平均値を出力する。 サンプルコード from PIL import I
-
OpenCVのblur()関数を使って画像をぼかす方法をわかりやすく解説
この記事では、OpenCVが提供するblur()関数を使用して、画像にぼかし(ブラー)処理をかける方法を解説します。blur()は画像処理の基本となるフィルタの一つで、ノイズ除去や画像の前処理など、さまざまな場面で活用されます。 処理の流れ(アルゴリズム) 画像をぼかすための手順は以下の通りです。 ステップ1:OpenCVをインポートする。 ステップ2:対象となる画像を読み込む。 ステップ3:カーネルサイズを設定する。 ステップ4:blur()関数を呼び出し、画像とカーネルサイズを引数として渡す。 ステップ5:結果を表示する。 元画像 今回使用するサンプル画像は以下の通りです。 サンプルコー