【HALCON】gray_tophat関数ガイド - グレースケール画像のトップハット変換
2024-09-11
2024-09-11
HALCON
のgray_tophat
関数は、グレースケール画像に対してトップハット変換を行うための関数です。トップハット変換は、画像の局所的な明るい領域や暗い領域を強調し、背景と物体のコントラストを改善するために使用されます。この手法は、特に微小な物体の検出や画像内の詳細な特徴抽出に効果的です。
gray_tophat関数の概要
gray_tophat
関数は、グレースケール画像に対してモルフォロジー演算を用いたトップハット変換を行います。トップハット変換は、画像内の小さな明るい領域を強調し、背景とのコントラストを高めるために使用されます。この関数は、特定の形状の構造要素を使用して、ノイズ除去や特定の特徴抽出に最適化されています。
基本構文
gray_tophat(Image, ImageTophat, Width, Height, Shape)
Image
入力となるグレースケール画像。ImageTophat
トップハット変換後の出力画像。Width
構造要素の幅(x方向のピクセル数)。Height
構造要素の高さ(y方向のピクセル数)。Shape
構造要素の形状。‘rectangle’(矩形)、‘circle’(円形)、‘ellipse’(楕円)などから選択できます。
トップハット変換の種類
gray_tophat
関数では、以下の2種類のトップハット変換を実行できます。
-
ホワイトトップハット変換
ホワイトトップハット変換は、入力画像からオープニング処理を引いた結果を計算します。これにより、背景と比べて明るい領域が強調され、微細な明るい特徴が抽出されます。 -
ブラックトップハット変換
ブラックトップハット変換は、クロージング処理後の画像から入力画像を引いた結果を計算します。これにより、暗い領域が強調されます。
使用例
次に、gray_tophat
関数を使って、矩形構造要素でホワイトトップハット変換を行う例を示します。
* 入力画像の読み込み
read_image(Image, 'example_image')
* 矩形の構造要素を使用してホワイトトップハット変換を実行
gray_tophat(Image, ImageTophat, 10, 5, 'rectangle')
* 結果画像の表示
dev_open_window(0, 0, 512, 512, 'black', WindowID)
disp_image(ImageTophat, WindowID)
この例では、幅10ピクセル、高さ5ピクセルの矩形構造要素を使用してホワイトトップハット変換を適用し、画像内の明るい特徴を強調しています。
実際の応用
微小物体の検出
トップハット変換は、画像中の小さな明るい物体の検出に有効です。ホワイトトップハット変換を使うことで、背景と比べて明るい領域(例えば、小さな部品や傷)を強調できます。
背景とのコントラスト強調
トップハット変換は、背景とのコントラストを改善するためにも利用されます。画像の均一な背景が除去され、対象物の輪郭や特徴が際立ちます。
形状解析の前処理
トップハット変換は、形状解析や物体検出の前処理として、画像内の不必要な背景やノイズを取り除き、解析精度を向上させます。
gray_tophatの応用例
次の例では、円形の構造要素を使用してホワイトトップハット変換を行い、円形の物体を強調しています。
* 入力画像の読み込み
read_image(Image, 'example_image')
* 円形の構造要素を使用してホワイトトップハット変換を実行
gray_tophat(Image, ImageTophat, 15, 15, 'circle')
* 結果画像の表示
disp_image(ImageTophat, WindowID)
この例では、円形の構造要素を使って画像中の円形の明るい物体を強調しています。トップハット変換によって、小さな明るい物体が背景から際立ちます。
まとめ
HALCON
のgray_tophat
関数は、グレースケール画像に対するトップハット変換を行い、物体の特徴を強調するための強力なツールです。ホワイトトップハット変換によって明るい領域を強調し、ブラックトップハット変換で暗い領域を強調することで、さまざまな画像処理アプリケーションに応用できます。特に、微小物体の検出や背景と物体のコントラスト強調に効果的です。適切な構造要素を選び、解析精度を向上させましょう。