本文へスキップ

ガボールフィルタで方向別のエッジ・テクスチャ特徴を抽出する【画像処理100本ノック】

2

目次

  1. 概要
  2. カーネルを生成するq77
  3. 方向を変えるq78
  4. 画像へ適用するq79
  5. 方向別応答を合成するq80
  6. sobelフィルタとの違い

概要

Q.77〜80ではガボールフィルタを生成し、回転、畳み込み、方向別応答の合成までを実装します。 ガボールフィルタは方向と空間周波数の両方を選択でき、エッジやテクスチャの特徴抽出に使えます。

カーネルを生成する(Q.77)

ガウシアン窓と正弦波を掛け合わせてカーネルを作ります。σが応答する範囲、波長λが 対象とする模様の細かさ、角度θが方向を決めます。

G(x, y) = exp(-(x'² + γ²y'²) / 2σ²) cos(2πx' / λ + ψ)

生成後は係数の絶対値和などで正規化し、画像全体の明るさが過度に変わらないようにします。

方向を変える(Q.78)

座標を0、45、90、135度へ回転し、方向の異なる4種類のカーネルを描画します。角度ごとに 縞模様の向きが変わることを確認できます。

画像へ適用する(Q.79)

各方向のカーネルをグレースケール画像へ畳み込みます。特定方向の線や縞とカーネルが一致した 場所で大きな応答が得られます。

方向別応答を合成する(Q.80)

4方向の応答を画素ごとに加算し、向きに偏らない特徴画像を作ります。単一方向のエッジ検出から、 複数方向をまとめたテクスチャ表現へ発展させる処理です。

Sobelフィルタとの違い

Sobelは主に局所的な輝度勾配を求めます。ガボールフィルタは方向に加えて周波数も指定できるため、 一定間隔の縞や繰り返し模様へ選択的に反応できます。

おすすめの記事

最新の記事

著者について

404

s-yoshiki

ただの備忘録です。

※外部送信に関する公表事項