【HALCON】boundary 関数について - 領域の境界を計算する
2024-08-21
2024-08-21
boundary 関数とは
HALCON の boundary
関数は、指定された領域の境界を計算し、その境界部分を新しい領域として返します。境界のタイプは、BoundaryType
パラメータで指定でき、領域の内側、外側、または内側の充填された境界を取得することが可能です。
使用例
以下は、boundary
関数を使用して領域の境界を計算する簡単な例です。
#include "HalconCpp.h"
using namespace Halcon;
main()
{
HWindow w;
HRegion circ1 = HRegion::GenCircle(20, 10, 10.5);
circ1.Display(w);
w.Click();
HRegion marg1 = circ1.Boundary("inner");
w.SetColor("red");
marg1.Display(w);
w.Click();
return(0);
}
この例では、円形領域を生成し、その内側の境界を赤色で表示しています。
パラメータの詳細
-
Region(入力オブジェクト)
境界を計算する対象の領域です。 -
RegionBorder(出力オブジェクト)
計算された境界が返されます。 -
BoundaryType(入力パラメータ)
境界の種類を指定します。デフォルト値はinner
です。- ‘inner’: 領域の内側境界
- ‘inner_filled’: 内側境界(穴を無視)
- ‘outer’: 領域の外側境界
パフォーマンスと並列処理
boundary
関数はマルチスレッド対応で、非排他型のオペレーターとして再入可能です。タプルレベルで自動並列化が行われ、効率的に複数の領域に対して境界の計算が行えます。
まとめ
boundary
関数を使用すると、領域の輪郭を効果的に抽出できます。内側、外側、または内側充填のオプションを使い分けることで、さまざまな解析や後処理に適した領域境界を取得できます。