はじめに
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ファイル)参考
get_window — SciPy v1.14.1 Manual
skimage.filters — skimage 0.24.0 documentation
コメント