【HALCON】smallest_rectangle1_xld 関数について - XLD輪郭の最小外接矩形(軸平行)の計算

【HALCON】smallest_rectangle1_xld 関数について - XLD輪郭の最小外接矩形(軸平行)の計算

2024-09-12

2024-09-12

HALCONsmallest_rectangle1_xld関数は、XLD(拡張輪郭記述子)に基づいて軸平行な最小外接矩形を計算するための関数です。この関数を使用することで、XLD輪郭を最小限に囲む矩形の左上(最小座標)と右下(最大座標)の座標を取得し、物体の形状をシンプルに評価したり、占有領域を計測できます。軸平行な最小外接矩形は、X軸およびY軸に平行な矩形であり、形状解析や物体のサイズ測定において非常に役立ちます。

smallest_rectangle1_xld 関数の概要

smallest_rectangle1_xld関数は、入力されたXLD輪郭に基づいて、物体を囲む最小の軸平行な外接矩形を計算します。この矩形は、X軸とY軸に対して平行な長方形であり、その矩形の左上(最小座標)と右下(最大座標)の座標が出力されます。これにより、XLD輪郭を単純化して形状を評価し、物体の位置やサイズを簡単に把握できます。

使用方法

基本的な使用方法は以下の通りです。

smallest_rectangle1_xld(XLD, Row1, Column1, Row2, Column2)
  • XLD
    最小外接矩形を計算する対象となる入力XLD輪郭。
  • Row1
    矩形の左上のY座標(行)。
  • Column1
    矩形の左上のX座標(列)。
  • Row2
    矩形の右下のY座標(行)。
  • Column2
    矩形の右下のX座標(列)。

具体例

以下に、smallest_rectangle1_xld関数を使用してXLD輪郭の最小外接矩形を計算する例を示します。

* 画像を読み込み、エッジ抽出を行う
read_image(InputImage, 'example_image')
edges_sub_pix(InputImage, XLD, 'canny', 1, 20, 40)

* XLD輪郭を囲む最小外接矩形(軸平行)を計算
smallest_rectangle1_xld(XLD, Row1, Column1, Row2, Column2)

* 結果を表示
disp_message(WindowHandle, 'Top-left: (' + Row1 + ', ' + Column1 + '), Bottom-right: (' + Row2 + ', ' + Column2 + ')', 'window', 12, 12, 'black', 'true')

* 最小外接矩形を描画
gen_rectangle1(Rectangle, Row1, Column1, Row2, Column2)
disp_region(Rectangle, WindowHandle)

この例では、まず入力画像からエッジ抽出を行い、XLD輪郭を生成しています。その後、smallest_rectangle1_xld関数を使って、XLD輪郭を囲む最小の軸平行な外接矩形を計算し、左上および右下の座標を取得しています。取得した矩形を描画することで、物体の範囲を視覚的に確認することができます。

応用例

smallest_rectangle1_xld関数は、以下のようなシナリオで特に効果的です。

  • 物体の位置とサイズの把握
    XLD輪郭を最小外接矩形で囲むことで、物体の占有領域や位置を効率的に把握し、解析や比較が容易になります。

  • 形状の単純化
    複雑な形状を持つXLD輪郭でも、最小外接矩形を計算することで形状を単純化し、形状解析や比較、認識を行う際に便利です。

  • 領域の比較や分類
    複数のXLD輪郭のサイズや位置を最小外接矩形の座標を基に比較することで、物体の分類や認識精度を向上させます。

まとめ

HALCONsmallest_rectangle1_xld関数は、XLD輪郭を軸平行な最小外接矩形で囲み、物体の占有領域や位置を効率的に評価するための便利なツールです。この関数を使用することで、XLD輪郭の形状を単純化し、形状解析や物体のサイズ測定が簡単に行えます。特に、形状解析や分類、物体認識に役立ちます。

Recommend