はじめに
本記事では、scikit-imageライブラリのsobelフィルタを使用して、画像の各画素における勾配を計算する方法について解説します。sobel、sobel_h、sobel_vといった関数の使い方と実際の適用例を紹介します。
解説
モジュールのインポートなど
バージョン
データの生成
2Dのガウス関数を定義し、データを作成します。作成した画像を表示すると以下のようになります。

Sobel フィルタの適用
Sobelフィルタとは、下に示すフィルタのことで、各画素に適用することで画像の勾配を求めることができます。sobel_h関数では水平方向のフィルタのみを適用し、sobel_v関数では垂直方向のフィルタのみを適用することができます。


勾配画像の表示

平行方向の勾配像を表示

垂直方向の勾配像を表示

sobel_hとsobel_vの結果を合わせる
sobel_hとsobel_vの結果を組み合わせて表示すると、sobelフィルタを直接適用した場合と同様の結果が得られます。

まとめ
sobelフィルタは画像処理において重要なエッジ検出手法であり、scikit-imageで簡単に実装できることを学びました。sobel_h、sobel_vを使用して水平・垂直方向の勾配を個別に求め、総合的な勾配強度と方向を計算することで、画像の特徴を効果的に抽出できます。
参考
skimage.filters — skimage 0.26.0rc0.dev0 documentation
コメント