【HALCON】intersection_closed_polygons_xld 関数について - 閉じたXLDポリゴンの交差点計算

【HALCON】intersection_closed_polygons_xld 関数について - 閉じたXLDポリゴンの交差点計算

2024-09-04

2024-09-04

HALCONintersection_closed_polygons_xld関数は、2つの閉じたXLDポリゴンが交差する点を計算するためのツールです。この関数は、指定されたポリゴン同士の交差点を検出し、物体の形状解析や配置検証において役立ちます。工業製品の検査や物体の正確な位置決めが必要な場合に、この機能を活用することで、形状や位置関係を正確に評価することができます。

intersection_closed_polygons_xld 関数の概要

intersection_closed_polygons_xld関数は、2つの閉じたXLDポリゴンがどこで交差するかを計算し、交差点の座標を出力します。この関数は、物体の形状や境界が正確に指定されている場合に、ポリゴン間の交差点を特定するのに使用されます。これにより、物体同士の配置や形状の整合性を確認することが可能になります。

使用方法

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

intersection_closed_polygons_xld(Polygon1, Polygon2, Mode, MaxDistance, Row, Column, IsOverlapping)
  • Polygon1
    最初の閉じたXLDポリゴン。
  • Polygon2
    2つ目の閉じたXLDポリゴン。
  • Mode
    交差点の計算方法(例: 'all''first')。
  • MaxDistance
    交差点を検出する際の許容距離。これを超える場合は交差点として認識されません。
  • Row
    交差点の行座標(出力)。
  • Column
    交差点の列座標(出力)。
  • IsOverlapping
    2つのポリゴンが重なっているかどうかを示すフラグ(出力)。

具体例

以下に、intersection_closed_polygons_xld関数を使用して2つのポリゴンの交差点を計算する例を示します。

* 2つの閉じたXLDポリゴンを生成
gen_rectangle2_contour_xld(Polygon1, 100, 100, 0.5, 50, 30)
gen_rectangle2_contour_xld(Polygon2, 120, 120, 0.3, 50, 30)

* 2つのポリゴンの交差点を計算
intersection_closed_polygons_xld(Polygon1, Polygon2, 'all', 1.0, Row, Column, IsOverlapping)

* 交差点を表示
if (IsOverlapping)
  disp_message(WindowHandle, 'Polygons overlap', 'window', 12, 12, 'black', 'true')
endif

* 交差点をXLDクロスで表示
gen_cross_contour_xld(Cross, Row, Column, 6, 0.5)
disp_xld(Cross, WindowHandle)

この例では、2つの長方形ポリゴンPolygon1Polygon2の交差点を計算しています。交差点の座標はRowColumnに保存され、ポリゴンが重なっているかどうかがIsOverlappingによって示されます。交差点はXLDクロスとして表示されます。

応用例

intersection_closed_polygons_xld関数は、以下のような応用シーンで利用されます。

  • 形状解析
    製品や部品の形状が正確に設計通りに作られているかを検証し、ポリゴンの交差点を使って形状の整合性を評価します。

  • 配置検証
    工業製品や構造物の設置位置が正確かどうかを確認し、2つの物体が重なっている部分を検出します。

  • 物体検出と検査
    画像内の複数の物体が重なっているかどうかを調べ、ポリゴン同士の交差を基に物体の相対的

Recommend