【HALCON】circularity_xld 関数について - XLD輪郭の円形度計算
2024-08-24
2024-08-24
HALCON
のcircularity_xld
関数は、XLD(Extended Line Description)輪郭の円形度を計算し、その輪郭がどれだけ円形に近いかを評価するために使用されます。XLD輪郭は、画像内の物体のエッジを高精度で記述するためのもので、円形度を評価することで、物体の形状が円に近いかどうかを判断します。この関数は、製品検査や形状解析において重要な役割を果たします。
circularity_xld 関数とは
circularity_xld
関数は、XLD輪郭に対して円形度を計算します。円形度は、輪郭がどれほど円に近いかを示す指標であり、値が1に近いほど円に近い形状を意味します。XLDは、高精度のエッジ情報を含むため、円形度の評価に適しています。
基本的な使用例
以下は、circularity_xld
関数を使用して、XLD輪郭の円形度を計算する基本的な例です。
* 画像を読み込み、XLD輪郭を抽出
read_image (Image, 'example_image.png')
edges_sub_pix (Image, XLDContours, 'canny', 1, 20, 40)
* XLD輪郭の円形度を計算
circularity_xld (XLDContours, CircularityValue)
* 円形度の結果を表示
dev_display (XLDContours)
write_string (WindowHandle, 'Circularity: ' + CircularityValue)
この例では、read_image
で画像を読み込み、edges_sub_pix
関数を使ってXLD輪郭を抽出しています。その後、circularity_xld
関数でXLD輪郭の円形度を計算し、その結果を表示しています。
引数の詳細
XLDContours
: 円形度を計算する対象のXLD輪郭CircularityValue
: 計算された円形度の値(出力)
円形度の計算の用途
円形度の計算は、次のような場面で特に有用です。
-
製品検査
製品の形状が円形かどうかを評価し、品質基準に合っているかを確認するために使用されます。 -
形状解析
物体の輪郭が円形にどれほど近いかを評価し、物体の分類や認識に役立てます。 -
画像処理とフィルタリング
形状に基づいたフィルタリングを行い、円形の物体を特定しやすくします。
応用例: 製品の形状検査での円形度評価
次の例では、製品の形状が円に近いかどうかを確認するために、XLD輪郭の円形度を計算します。
* 画像を読み込み、製品のXLD輪郭を抽出
read_image (ProductImage, 'product_image.png')
edges_sub_pix (ProductImage, XLDContours, 'canny', 1, 20, 40)
* XLD輪郭の円形度を計算
circularity_xld (XLDContours, CircularityValue)
* 結果に基づいて製品の品質を評価
if (CircularityValue > 0.95)
write_string (WindowHandle, 'Product is circular and meets quality standards.')
else
write_string (WindowHandle, 'Product does not meet circularity standards.')
endif
この例では、製品のXLD輪郭を抽出し、circularity_xld
関数を使用して円形度を計算しています。円形度が0.95を超えると、製品が円形であり、品質基準を満たすと判断されます。
circularity_xld 関数の利点
-
高精度の形状評価
XLD輪郭を使用することで、物体の形状を正確に評価し、円形度を正確に計算できます。 -
品質管理の向上
製品検査で形状の適合性を評価し、品質基準を維持するために効果的です。 -
柔軟な形状解析
円形度に基づいて形状を分類することで、異なる形状の物体を自動的に識別できます。
まとめ
HALCON
のcircularity_xld
関数は、XLD輪郭に対して円形度を計算し、物体の形状がどれだけ円に近いかを評価するための重要なツールです。円形度の評価を使用して、製品検査や形状解析において精度の高い判断を行うことができ、品質管理や分類作業において非常に有用です。