ブローブの特徴量に基づくフィルタリング (非推奨)

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

Syntax

C#
public virtual List<CFviBlobData> GetList(
	IEnumerable<CFviBlobFilterRange> filters
)
Visual Basic
Public Overridable Function GetList ( 
	filters As IEnumerable(Of CFviBlobFilterRange)
) As List(Of CFviBlobData)

Parameters

filters
Type: System.Collections.Generic..::..IEnumerable<(Of <(<'CFviBlobFilterRange>)>)>
取得条件フィルタ配列

Return Value

Type: List<(Of <(<'CFviBlobData>)>)>

このクラスが保有するブローブデータの内、指定の特徴量範囲に該当するブローブデータを System.Collections.Generic.List に格納して返します。

Remarks

新しい開発では、データコピーのコストを削減した GetBlobList(IEnumerable<(Of <<'(CFviBlobFilterRange>)>>)) を使用してください。


引数 filters に指定された特徴量範囲に該当するブローブデータを System.Collections.Generic.List に格納して返します。 filters に2種類以上のフィルタが指定されている時は、全ての条件の AND での評価となります。 null または filters.Count が 0 個の場合は、全ての有効ブローブを取得します。 背景ブローブ及び無効ブローブは含まれません。

このオブジェクトが保有するハンドルが無効な場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。

エラーコード:

ErrorCode メンバ内容
51FVIL.ErrorCode.LICENSE_ERROR ライセンスキーが見つからない為、実行できません。 または、 FVIL._SetUp.InitVisionLibrary が実行されていません。
12FVIL.ErrorCode.INVALID_OBJECTブローブ解析結果ハンドルが無効です。
11FVIL.ErrorCode.INVALID_PARAMETER引数が異常です。配列の要素数は1つ以上必要です。
1FVIL.ErrorCode.FAILED_TO_ALLOCATE メモリが不足しています。

Examples

計測結果から、下記の条件に該当するブローブデータを取得します。

  1. 面積が 500~1000 -
  2. 重心(x) が 900~1300 -
C# Copy imageCopy
FVIL.Blob.CFviBlob       blob = new FVIL.Blob.CFviBlob();
FVIL.Data.CFviImage      image = new FVIL.Data.CFviImage();

:
: (画像の取り込み等)
:

blob.SrcImages[0] = image;
blob.Execute();

System.Collections.Generic.List<FVIL.Blob.CFviBlobFilterRange>    filters = 
       new System.Collections.Generic.List<FVIL.Blob.CFviBlobFilterRange>();

FVIL.Blob.CFviBlobFilterRange   filter = new FVIL.Blob.CFviBlobFilterRange();

// (1)
filter.Type = FVIL.Blob.FeatureType.AREA;
filter.Min = 500;
filter.Max = 1000;
filters.Add( filter );

// (2)
filter.Type = FVIL.Blob.FeatureType.CENTERX;
filter.Min = 900;
filter.Max = 1300;
filters.Add( filter );

// ブローブデータ配列の取得
System.Collections.Generic.List<FVIL.Blob.CFviBlobData>  datas =
       blob.Result.GetList( filters );

Exceptions

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

See Also