【HALCON】symm_difference_closed_polygons_xld 関数について - 閉じたXLD多角形の対称差演算

【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多角形の間で対称差を計算し、形状の違いや異常部分を明確にするための強力なツールです。この関数を使用することで、製造過程での異常検出や形状比較が効率的に行え、品質管理や製品検査において重要な役割を果たします。形状の変化や違いを可視化し、迅速に対処できるため、製造業や検査システムで広く活用されています。

Recommend