[SciPy] 29. 平均化フィルタによる画像の平滑化(ndimage.uniform_filter)

matplotlib

はじめに

本記事では、SciPyのndimageモジュールに含まれるuniform_filter関数を使用して画像の平滑化を行う方法について解説します。平均化フィルタの基本概念から実装方法、パラメータ調整のコツまで、ノイズ除去や画質向上のための実践的なテクニックを紹介します。

コード&解説

モジュールのインポート

バージョン

画像の読み込み

サボテン すみれ丸の画像を、plt.imread()で読み込みます。

グレースケール変換

skimage.color モジュールの rgb2gray 関数を使用して RGB 画像をグレースケール画像に変換します。変換した画像を cmap=”bone” パラメータで表示すると、以下のようになります。

ユニフォームフィルタ=平均化フィルタ

平均化フィルタのサイズを10として処理すると、以下のような画像が得られます。画像がわずかにぼやけていることが確認できます。

sizeを変化させた場合

フィルタサイズを大きくするほど、画像はより強くぼやけていきます。

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

参考

uniform_filter — SciPy v1.16.1 Manual

コメント