[scikit-image] 90. sobelフィルタで画像の各画素における勾配を求める

matplotlib

はじめに

skimage.filtersのsobel,sobel_h, sobel_vを使用して、画像の各画素の勾配を求める方法について解説する。

解説

モジュールのインポートなど

バージョン

データの生成

2dのガウス関数を定義して、データを作成する。作成した画像を表示すると以下のようになる。

Sobel フィルタの適用

Sobelフィルタとは下に示したフィルタであり、このフィルタを各画素に適用することで画像の勾配を求めることができる。sobel_h,sobel_vによりそれぞれ平行方向のフィルタのみを適用、垂直方向のフィルタのみを適用することができる。

勾配画像の表示

平行方向の勾配像を表示

垂直方向の勾配像を表示

sobel_hとsobel_vの結果を合わせる

sobel_hとsobel_vの結果を合わせて表示するとsobelフィルタのものと同様に結果が得られる。

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

参考

Module: filters — skimage v0.19.0.dev0 docs

コメント