【HALCON】bandpass_image 関数について - 画像の周波数フィルタリング
2024-08-24
2024-08-24
HALCON
のbandpass_image
関数は、画像の周波数成分をフィルタリングし、特定の周波数帯域を通過させるために使用されます。この手法は、画像処理において特定の特徴を強調する際や、不要なノイズを除去する際に有効です。bandpass_image
関数は、低周波成分(ぼやけた情報)や高周波成分(ノイズ)を除去しながら、指定した周波数帯域の成分を保持します。
bandpass_image 関数とは
bandpass_image
関数は、画像のフーリエ変換を用いて周波数領域でフィルタリングを行い、指定した帯域内の周波数成分のみを通過させます。このフィルタリングによって、特定の周波数成分が強調され、画像の重要な特徴を抽出したり、不要なノイズを取り除いたりすることが可能です。
基本的な使用例
以下は、bandpass_image
関数を使用して画像の周波数フィルタリングを行う基本的な例です。
* 画像を読み込み
read_image (Image, 'example_image.png');
* バンドパスフィルタを適用
bandpass_image (Image, FilteredImage, 10, 30);
このコードでは、まず画像を読み込み、次にbandpass_image
関数を使用して画像にバンドパスフィルタを適用しています。10
と30
は、通過する周波数帯域の下限と上限を指定するパラメータです。この指定により、指定された周波数範囲内の成分のみが保持され、他の成分が除去されます。
引数の詳細
-
Image
入力画像です。フィルタリングを行う対象の画像を指定します。 -
FilteredImage
フィルタリングされた結果が格納される画像です。この画像には、指定した周波数帯域内の成分が保持された状態で出力されます。 -
LowCutoff
フィルタの低周波カットオフ値。この値より低い周波数成分は除去されます。 -
HighCutoff
フィルタの高周波カットオフ値。この値より高い周波数成分も除去されます。
バンドパスフィルタの用途と意義
バンドパスフィルタは、特定の周波数帯域内の成分を通過させ、それ以外の成分を除去するフィルタです。以下のシーンで特に有効です。
-
ノイズ除去
画像に含まれる高周波ノイズ(小さな変動)や低周波成分(大きなぼやけた変動)を除去し、重要な情報を強調します。 -
エッジ検出
中周波成分を通過させることで、画像のエッジや細かなディテールを強調し、エッジ検出を効果的に行います。 -
画像の特徴抽出
特定の周波数成分を強調することで、画像の重要な特徴を抽出し、解析や認識処理に役立てます。
応用例: 画像のノイズ除去
以下は、bandpass_image
関数を使用して画像のノイズを除去する例です。
* 画像を読み込み
read_image (Image, 'noisy_image.png');
* バンドパスフィルタを適用してノイズを除去
bandpass_image (Image, FilteredImage, 5, 25);
* フィルタリング後の画像を表示
disp_image (FilteredImage, WindowID);
この例では、5
から25
の周波数帯域を通過させるバンドパスフィルタを適用しています。この範囲内の周波数成分を保持し、それ以外のノイズ成分を除去することで、画像の品質を向上させます。
バンドパスフィルタの利点
-
特定の周波数成分の強調
中間周波数成分を強調することで、画像のエッジやディテールを抽出できます。 -
ノイズの効果的な除去
不要な高周波や低周波ノイズを除去し、画像の品質を向上させます。 -
柔軟なフィルタリング
通過させたい周波数帯域を調整することで、さまざまなフィルタリング用途に対応できます。
まとめ
HALCON
のbandpass_image
関数は、画像の周波数成分をフィルタリングし、特定の周波数帯域内の成分を強調するための強力なツールです。この関数を使用することで、画像のノイズ除去や特徴抽出が効率的に行えるため、画像処理の精度を向上させることが可能です。特定の周波数成分を抽出したい場合や、画像の品質を向上させたい場合に、この関数を活用してください。