【HALCON】convol_gabor 関数について - ガボールフィルタを使用した周波数領域での畳み込み
2024-08-25
2024-08-25
HALCON
のconvol_gabor
関数は、ガボールフィルタを用いた周波数領域での畳み込み処理を行うためのツールです。この関数は、フーリエ変換された画像に対してガボールフィルタとそのヒルベルト変換を適用し、エッジ検出やパターン認識のための特徴抽出に使用されます。
convol_gabor関数の概要
convol_gabor
関数は、入力されたフーリエ変換画像(ImageFFT
)に対してガボールフィルタとヒルベルト変換を適用し、画像のエッジやテクスチャを強調します。ガボールフィルタは、周波数領域で特定の周波数成分を強調または除去するために広く使用されるフィルタであり、主に画像解析や特徴抽出において強力なツールです。
関数のシグネチャ
void convol_gabor(HTuple : ImageFFT, HTuple : GaborFilter, HTuple* : ImageResultGabor, HTuple* : ImageResultHilbert);
ImageFFT
フーリエ変換された入力画像。GaborFilter
適用するガボールフィルタ。ImageResultGabor
ガボールフィルタを適用した結果の画像。ImageResultHilbert
ガボールフィルタのヒルベルト変換を適用した結果の画像。
使用例
以下は、HALCON
のconvol_gabor
関数を使用して画像にガボールフィルタを適用する例です。
画像にガボールフィルタを適用
HObject Image, ImageFFT, GaborFilter, ImageResultGabor, ImageResultHilbert;
// フーリエ変換された画像の生成
fft_generic(Image, &ImageFFT, "to_freq", -1, "none", "dc_edge", "complex");
// ガボールフィルタの生成
gen_gabor(&GaborFilter, 5.0, 0.0, 1.0, "n", "dc_edge");
// ガボールフィルタで畳み込み
convol_gabor(ImageFFT, GaborFilter, &ImageResultGabor, &ImageResultHilbert);
// 結果を表示または処理
このコードでは、画像をフーリエ変換し、その画像に対してガボールフィルタを適用しています。結果として、ガボールフィルタとヒルベルト変換が適用された画像が生成されます。
応用例
convol_gabor
関数は、以下のような応用で利用されています。
-
エッジ検出
ガボールフィルタは、特定の方向や周波数成分に敏感なため、エッジ検出に非常に有効です。 -
テクスチャ解析
テクスチャの特徴を抽出するために、周波数領域でガボールフィルタを適用し、画像内のパターンを解析します。 -
パターン認識
特定の周波数範囲に基づいて、画像内のパターンや形状を認識するために使用されます。
まとめ
HALCON
のconvol_gabor
関数は、画像の周波数領域においてガボールフィルタを使用した畳み込みを行うための非常に強力なツールです。エッジ検出、テクスチャ解析、パターン認識など、様々な画像処理タスクにおいてこの関数を活用することで、より精密なフィルタリングや特徴抽出が可能となります。