はじめに
ここでは、skimage rank mean, mean_percentile, mean_percentileにより画像に平均化フィルタを適用した例について説明する。
コード
解説
モジュールのインポート
画像データの読み込み
下のロフォフォラの画像を読み込み、rgb2grayにより、グレースケール化する。
平均化する範囲の設定
selem_s = np.ones((50, 50))で平均をとる領域を設定する。50×50の領域ごとに平均をとる。
画像の平均化
一般的な平均化
normal_result = rank.mean(image, selem=selem_s) によりimageをselem_sの領域により平均化する。
所定のグレーレベルで平均化
percentile_result = rank.mean_percentile(image, selem=selem_s, p0=0.3, p1=0.7)により、画像中の下から30%〜70%の要素のみを平均化する。
所定の領域を平均化
bilateral_result = rank.mean_bilateral(image, selem=selem_s, s0=50, s1=50)により、画像のピクセル値をgとすると、グレーレベル間隔が[g-50、g + 50]の範囲で平均化される。つまり、連続な領域(画像のグレーレベルに差があまりない領域)で平均化が実行される。
画像の表示
コードをダウンロード(.pyファイル)
コードをダウンロード(.ipynbファイル)
参考
Mean filters — skimage 0.24.0 documentation
skimage.filters.rank — skimage 0.24.0 documentation
skimage.filters.rank — skimage 0.24.0 documentation
skimage.filters.rank — skimage 0.24.0 documentation
コメント