はじめに
scipyのndimageのgaussian_gradient_magnitudeを使って、画像のエッジを検出して表示する方法について説明する。
コード&解説
モジュールのインポート
バージョン
画像の読み込み
下記サイトから画像を取得し、plt.imread()で読み込む。
たい焼き器のイラスト(養殖)
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。
グレースケール変換
skimage.color の rgb2grayでRGB画像をグレースケール画像に変換する。
変換した画像をcmap=”bone”で表示すると以下のようになる。
ガウス微分フィルタ
sigma=3でガウス微分フィルタを適用した結果は以下のようになる。
手動でガウス微分フィルタ
x方向にガウス微分フィルタをかけた結果は、ndi.gaussian_filter(img_g, (sigma,sigma), (0,1))で得られる。yはorderを(1,0)とした場合に得られる。強度の像は各成分の2乗値の平方根で得られる。
ガウス微分フィルタのsigmaを変えた場合
ガウス微分フィルタのsigmaを変えた時の変化は以下のようになる。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)参考
gaussian_gradient_magnitude — SciPy v1.14.1 Manual
gaussian_filter — SciPy v1.14.1 Manual
コメント