【HALCON】paint_xld 関数について - XLD輪郭のペイント処理
2024-09-06
2024-09-06
HALCON
のpaint_xld
関数は、XLD(Extended Line Description)輪郭をグレースケールまたはカラー画像に描画するためのツールです。この関数を使用することで、画像上に物体の輪郭を強調表示し、解析結果を視覚的に確認したり、特定の領域を強調したりすることができます。XLD輪郭は、高精度な輪郭情報を表現するのに適しており、画像解析において重要な役割を果たします。
paint_xld 関数の概要
paint_xld
関数は、XLD形式で定義された輪郭を指定されたグレースケール画像またはカラー画像に描画(ペイント)します。ペイントする際に、輪郭の色や濃度をグレースケール値やカラー値で指定でき、描画結果を画像に直接反映させることができます。この機能により、物体の輪郭をはっきりと表示させることができ、画像解析やデータの視覚化に利用できます。
基本構文
paint_xld(XLD, Image, GrayValue, ResultImage)
XLD
描画するXLD輪郭。Image
輪郭を描画する元のグレースケールまたはカラー画像。GrayValue
輪郭を描画する際に使用するグレースケール値またはカラー値。輪郭の色や濃度を指定します。ResultImage
輪郭が描画された後の出力画像。
使用方法
以下は、paint_xld
関数を使ってXLD輪郭を画像に描画する基本的な例です。
* 画像の読み込みと輪郭抽出
read_image(Image, 'example_image.tiff')
edges_sub_pix(Image, Edges, 'canny', 1, 20, 40)
* XLD輪郭をグレースケール値255でペイント
GrayValue := 255
paint_xld(Edges, Image, GrayValue, ResultImage)
* 結果を表示
disp_image(ResultImage, WindowHandle)
この例では、edges_sub_pix
関数を使って画像からXLD形式の輪郭を抽出し、その輪郭をグレースケール値255(白)で元の画像に描画しています。描画結果として、物体の輪郭が強調された画像が出力されます。
カラー画像への適用
カラー画像の場合も同様に、ペイントするカラー値を指定することで、輪郭をカラーで描画することができます。
* カラー画像の読み込みと輪郭抽出
read_image(Image, 'color_image.tiff')
edges_sub_pix(Image, Edges, 'canny', 1, 20, 40)
* XLD輪郭を赤色でペイント (R: 255, G: 0, B: 0)
RGBValue := [255, 0, 0]
paint_xld(Edges, Image, RGBValue, ResultImage)
* 結果を表示
disp_image(ResultImage, WindowHandle)
この例では、カラー画像に対して赤色でXLD輪郭を描画し、物体の輪郭を強調しています。
応用例
paint_xld
関数は、以下のような場面で特に有効です。
-
物体の輪郭強調
画像解析の結果として検出された物体の輪郭を画像上に描画し、視覚的に確認することで、解析精度を向上させます。 -
解析結果の可視化
検出されたエッジや輪郭を画像上に描画して、解析の進行状況や結果を視覚的に確認する際に役立ちます。 -
レポート作成やデータ共有
解析結果をわかりやすく可視化するために、XLD輪郭を画像に描画し、報告書やデータ共有用の画像を作成します。
主な引数
XLD
: 描画するXLD輪郭。物体の輪郭やエッジ情報を持つXLD形式のデータ。Image
: 元の画像。輪郭が描画されるグレースケールまたはカラー画像。GrayValue
: 描画に使用するグレースケール値またはカラー値。輪郭の描画色を指定します。ResultImage
: 輪郭が描画された結果の出力画像。
まとめ
HALCON
のpaint_xld
関数は、XLD形式の輪郭をグレースケールまたはカラー画像に描画するための便利なツールです。物体の輪郭を視覚的に強調することで、画像解析の結果を確認したり、データの可視化を行ったりする際に役立ちます。輪郭を描画することで、画像処理の結果をよりわかりやすく表現でき、解析の精度向上に寄与します。