【HALCON】intersection_closed_polygons_xld 関数について - 閉じたXLDポリゴンの交差点計算
2024-09-04
2024-09-04
HALCON
のintersection_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つの長方形ポリゴンPolygon1
とPolygon2
の交差点を計算しています。交差点の座標はRow
とColumn
に保存され、ポリゴンが重なっているかどうかがIsOverlapping
によって示されます。交差点はXLDクロスとして表示されます。
応用例
intersection_closed_polygons_xld
関数は、以下のような応用シーンで利用されます。
-
形状解析
製品や部品の形状が正確に設計通りに作られているかを検証し、ポリゴンの交差点を使って形状の整合性を評価します。 -
配置検証
工業製品や構造物の設置位置が正確かどうかを確認し、2つの物体が重なっている部分を検出します。 -
物体検出と検査
画像内の複数の物体が重なっているかどうかを調べ、ポリゴン同士の交差を基に物体の相対的