[SciPy] 26. ラプラシアンフィルタによるエッジ検出(ndimage.laplace)

matplotlib

はじめに

この記事では、SciPyのndimageモジュールのlaplace関数を使用して、ラプラシアンフィルタによる画像のエッジ検出方法について解説します。画像処理におけるエッジ検出の基本的な技術と実装方法を学ぶことができます。

コード&解説

モジュールのインポート

バージョン

画像の読み込み

下記サイトから画像を取得し、plt.imread()で読み込みます。

たい焼き器のイラスト(天然)
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。

グレースケール変換

skimage.color モジュールの rgb2gray 関数を使用して RGB 画像をグレースケール画像に変換します。変換後の画像を cmap=”bone” パラメータで表示すると以下のようになります。

ラプラシアンフィルタ

ラプラシアンフィルタであるlaplaceを適用すると、以下のような画像が得られます。

この手法は近似的に計算するため、結果にノイズが多く含まれています。ノイズの影響を軽減したい場合は、LoGフィルタ(ラプラシアン・オブ・ガウシアン)を使用する方がより効果的でしょう。

[SciPy] 25. LoGフィルタによるエッジ検出(ndimage. gaussian_laplace)
SciPyのndimage.gaussian_laplaceを使用したLoGフィルタによるエッジ検出の実装方法を解説。画像処理においてノイズに強く、輝度変化を効果的に検出する手法の詳細とコード例を紹介します。
コードをダウンロード(.pyファイル)

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

まとめ

ラプラシアンフィルタを使用したエッジ検出は、画像内の急激な輝度変化を検出するための効果的な手法です。SciPyのndimage.laplace関数を使うことで、簡単にこの処理を実装できることを学びました。エッジ検出は物体認識や特徴抽出など、様々な画像処理アプリケーションの基礎となる重要な技術です。

参考

laplace — SciPy v1.16.2 Manual

コメント