【Processing】一次微分フィルタでエッジ検出

スポンサーリンク

この記事では、Processing言語を用いて、一次微分フィルタを作成し、画像のエッジ(輪郭)を検出する方法をソースコード付きで解説します。

スポンサーリンク

明るさの最大値フィルタ

画像のエッジ(輪郭)を抽出するフィルタに、「1次微分フィルタ」があります。
このフィルタは、まずx方向とy方向の画素値の差分(微分)を計算します。
そして、x, y方向の差分値のユークリッド距離(ノルム)を求めることで、x, y方向の輪郭を抽出します。
今回はこの一次微分フィルタで輪郭を抽出してみました。

ソースコード

サンプルプログラムのソースコードです。

【処理の概要】
①入力画像をグレースケール変換する。(filter(GRAY))
②入力画像のx, y方向の差分値(1次微分)を計算する。
③差分値(dx, dy)のユークリッド距離(ノルム)を、出力画像の画素値に設定する。
④入力画像を画面左、出力画像を画面右に表示する。(image関数)

実行結果

サンプルプログラムの実行結果です。

【関連記事】
Processing版OpenCVの使い方
Processing入門 サンプル集

スポンサーリンク

シェア&フォローお願いします!