周囲座標(External)の取得

Namespace: FVIL.Blob
Assembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)

Syntax

C#
public virtual PNT_T_ARRAY GetBoundary()
Visual Basic
Public Overridable Function GetBoundary As PNT_T_ARRAY

Return Value

Type: PNT_T_ARRAY
ブローブの境界点列(外周)を取得します。
領域が複数ある場合は境界点列にストッパー(座標に System.Int32.MinValue が格納された点)が含まれます。

Remarks

この関数は CFviBlobData.Boundary の改良版です。 データコピーやインスタンス生成のコストを削減できるため、高速に取得できます。


領域の周囲座標列です。 領域の境界には external boundary と internal boundary の2種類がありますが、 本関数は external boundary のみを抽出します。(下図参照)

また、周囲座標は4連結と8連結の場合で座標が異なることがあります。

本ライブラリでは境界座標は画像座標系で反時計回りに探索(右手の法則)します。

※注意

  • 周囲座標は連結性の設定により値が変化します。
  • 連結性の設定は、 Neighborhood にて設定します。 ブローブ解析の場合は、前景ブローブの連結性と背景ブローブの連結性が逆になりますので注意してください。

処理に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。


エラーコード:
ErrorCode メンバ内容
51FVIL.ErrorCode.LICENSE_ERROR ライセンスキーが見つからない為、実行できません。 または、 FVIL._SetUp.InitVisionLibrary が実行されていません。
12FVIL.ErrorCode.INVALID_OBJECTブローブ解析結果ハンドルが無効です。
11FVIL.ErrorCode.INVALID_PARAMETERブローブ番号が無効です。
1FVIL.ErrorCode.FAILED_TO_ALLOCATEメモリ確保に失敗しました。

関連する FIE 関数:

fnFIE_measure_get_boundary

Exceptions

ExceptionCondition
FVIL..::..CFviExceptionこの例外の原因については、上記のエラーコード表をご参照ください。

See Also