はじめに
skimage.filters.windowで画像に適用可能な窓関数を生成することができる。画像に窓関数をかける処理は画像のフーリエ変換で必要不可欠な前処理といっても過言ではない。ここではscikit-imageで利用可能な窓関数を画像に適用した例について説明する。
解説
モジュールのインポートなど
バージョン
画像の読み込み,グレースケール変換
下記サイトの画像をrgba2rgbでRGBA配列からRGB配列にし、rgb2grayでグレースケールにした後にimg_as_floatでfloat形式(0.0-1.0)に変換する。

トントゥのイラスト
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。
画像に窓関数をかける
例として、Hann windowをかける。
画像のサイズは(738, 734)となっている。
元画像と窓関数をかけた画像の表示
窓関数をかけた画像は、端部がマスクされた画像となる。このマスクされる範囲は窓関数の種類を変えることで変化する。

その他の窓関数(パラメータ不要)
パラメータ不要で利用できる窓関数をかけた画像をそれぞれ生成する。
パラメータ不要の窓関数画像の表示
結果を表示すると以下のようになる。

パラメータが必要な窓関数
exponential
減衰のパラメータであるtauを変化させた窓関数をかけた画像は以下のようになる。

kaiser
形状パラメータであるbetaを変化させた窓関数をかけた画像は以下のようになる。

gaussian
標準偏差パラメータであるstdを変化させた窓関数をかけた画像は以下のようになる。

chebwin
減衰のパラメータであるatを変化させた窓関数をかけた画像は以下のようになる。

参考
get_window — SciPy v1.15.2 Manual
skimage.filters — skimage 0.25.2 documentation
コメント