[scikit-image] 105. skimageで使用可能な窓関数s(filters.window)

matplotlib

はじめに

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を変化させた窓関数をかけた画像は以下のようになる。

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

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

参考

scipy.signal.windows.get_window — SciPy v1.7.1 Manual
Module: filters — skimage v0.19.0 docs

コメント