周囲座標 (External)
Namespace: FVIL.BlobAssembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)
Syntax
C# |
---|
public virtual List<CFviPoint> Boundary { get; } |
Visual Basic |
---|
Public Overridable ReadOnly Property Boundary As List(Of CFviPoint) Get |
Return Value
Type: List<(Of <(<'CFviPoint>)>)>ブローブの境界点列を取得します。
Remarks
関連:
データコピーのコストを削減した改良版の関数 GetBoundary()()()(), GetBoundaryEx(Int32, PNT_T_ARRAY, PNT_T_ARRAY) もあります。
領域の周囲座標列です。 領域の境界には external boundary と internal boundary の2種類がありますが、 本ライブラリでは external boundary のみを抽出します。(下図参照)
また、周囲座標は4連結と8連結の場合で座標が異なることがあります。
本ライブラリでは境界座標は画像座標系で反時計回りに探索(右手の法則)します。
領域が2つ以上ある場合(ラベリングするとラベル数が2以上になるとき)でも、すべての領域について境界点列を生成します。 1つの境界点列が終了すると、座標に System.Int32.MinValue が格納された点を挿入しています。 また、境界点列が複数ある場合、1 yの昇順、2 xの昇順で境界点列の始点を使ってソートします。
※注意
- 周囲座標は連結性の設定により値が変化します。 -
- 連結性の設定は、 Neighborhood にて設定します。 ブローブ解析の場合は、前景ブローブの連結性と背景ブローブの連結性が逆になりますので注意してください。 -
解析結果ハンドルが無効な場合またはブローブ番号が無効な場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。
エラーコード:値 | ErrorCode メンバ | 内容 |
---|---|---|
51 | FVIL.ErrorCode.LICENSE_ERROR | ライセンスキーが見つからない為、実行できません。 または、 FVIL._SetUp.InitVisionLibrary が実行されていません。 |
12 | FVIL.ErrorCode.INVALID_OBJECT | ブローブ解析結果ハンドルが無効です。 |
11 | FVIL.ErrorCode.INVALID_PARAMETER | ブローブ番号が無効です。 |
1 | FVIL.ErrorCode.FAILED_TO_ALLOCATE | メモリ確保に失敗しました。 |
Exceptions
Exception | Condition |
---|---|
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |