【HALCON】symm_difference_closed_polygons_xld 関数について - 閉じたXLD多角形の対称差演算
2024-09-10
2024-09-10
HALCONのsymm_difference_closed_polygons_xld
関数は、2つの閉じたXLD多角形間の対称差を計算し、差分領域を抽出するための関数です。対称差演算では、2つの多角形のどちらか一方にのみ含まれる領域を抽出し、共通部分は除外されます。これは、形状の違いや変化を検出する際に非常に有効で、製品の品質管理や異常検出に活用されます。
symm_difference_closed_polygons_xld 関数の概要
symm_difference_closed_polygons_xld
関数は、2つの閉じたXLD多角形の形状間の対称差を計算します。対称差とは、どちらか一方にのみ存在する領域を指し、共通部分は削除されます。この演算を通じて、形状の違いや異常部分が抽出されます。
基本的な構文
symm_difference_closed_polygons_xld(Polygons1, Polygons2, SymmDifferencePolygons)
Polygons1
最初の入力XLD多角形。Polygons2
2番目の入力XLD多角形。SymmDifferencePolygons
対称差に基づいて生成された出力XLD多角形。
具体例
以下は、symm_difference_closed_polygons_xld
関数を使用して2つのXLD多角形の対称差を計算する例です。
* 多角形1と多角形2の生成
gen_rectangle2_contour_xld(Polygon1, 100, 100, 0, 50, 30)
gen_circle_contour_xld(Polygon2, 100, 100, 40, 0, 6.28, 'positive', 1.0)
* 対称差の計算
symm_difference_closed_polygons_xld(Polygon1, Polygon2, SymmDifferencePolygons)
* 結果の表示
disp_xld(SymmDifferencePolygons, WindowHandle)
この例では、矩形のXLD多角形Polygon1
と円形のXLD多角形Polygon2
の対称差を計算しています。symm_difference_closed_polygons_xld
関数を使用して、両方の多角形に共通しない領域のみが抽出され、新しい多角形としてSymmDifferencePolygons
に保存されます。
結果の多角形
結果として、円と矩形の重ならない部分(どちらか一方にのみ存在する部分)が新しいXLD多角形として生成されます。両者に共通する領域は排除され、形状の違いが強調されます。
応用例
symm_difference_closed_polygons_xld
関数は、以下のような場面で使用されます。
-
形状比較と異常検出
正常な製品と異常な製品の多角形輪郭を比較し、異常部分や欠陥を抽出するために使用されます。これにより、製品の品質検査が自動化されます。 -
形状の変化検出
異なる時点での物体の形状を比較し、変化している部分を特定するために使用されます。製造過程での形状変化や、加工後の形状チェックに役立ちます。 -
2Dおよび3Dモデリングの解析
CADデータや2Dモデリングの結果を解析し、設計と実際の製品との違いを確認する際に使用されます。これにより、設計通りに製造されているかを検証できます。
まとめ
HALCONのsymm_difference_closed_polygons_xld
関数は、2つの閉じたXLD多角形の間で対称差を計算し、形状の違いや異常部分を明確にするための強力なツールです。この関数を使用することで、製造過程での異常検出や形状比較が効率的に行え、品質管理や製品検査において重要な役割を果たします。形状の変化や違いを可視化し、迅速に対処できるため、製造業や検査システムで広く活用されています。