ブローブの特徴量に基づくソーティング

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

Syntax

C#
public virtual List<CFviBlobData> GetSortList(
	FeatureType key1st,
	SortDirect direct1st,
	FeatureType key2nd,
	SortDirect direct2nd,
	FeatureType key3rd,
	SortDirect direct3rd,
	IEnumerable<CFviBlobData> datas
)
Visual Basic
Public Overridable Function GetSortList ( 
	key1st As FeatureType,
	direct1st As SortDirect,
	key2nd As FeatureType,
	direct2nd As SortDirect,
	key3rd As FeatureType,
	direct3rd As SortDirect,
	datas As IEnumerable(Of CFviBlobData)
) As List(Of CFviBlobData)

Parameters

key1st
Type: FVIL.Blob..::..FeatureType
特徴量の種別(最優先ソートキー)
direct1st
Type: FVIL.Blob..::..SortDirect
最優先ソートキーのソート順
key2nd
Type: FVIL.Blob..::..FeatureType
特徴量の種別(第2ソートキー)
direct2nd
Type: FVIL.Blob..::..SortDirect
第2ソートキーのソート順
key3rd
Type: FVIL.Blob..::..FeatureType
特徴量の種別(第3ソートキー)
direct3rd
Type: FVIL.Blob..::..SortDirect
第3ソートキーのソート順
datas
Type: System.Collections.Generic..::..IEnumerable<(Of <(<'CFviBlobData>)>)>
ブローブデータ配列 (1≦要素数)

Return Value

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

引数 datas に指定されたブローブデータをソートしたものを System.Collections.Generic.List に格納して返します。

Remarks

新しい開発では、データコピーのコストを削減した SortList()()()() を使用してください。 CFviBlobList は、 GetBlobList()()()() で取得できます。


ソート対象の特徴量は、 key1st,key2nd,key3rd にて3番目まで指定することが出来ます。 キーに指定可能な値については FeatureType をご参照ください。
まず key1st でソートし、 key1st で同じ値だった物は key2nd でソートされ、 更に key2nd でも同じだった物は key3rd でソートされます。

引数 direc1st,direc2nd,direc3rd は、各キーでのソート順(昇順/降順)を決めるパラメータです。 昇順にソートする場合は Ascending を、 降順にソートする場合は Descending を指定してください。

ソートキーを省略する場合は、NONE を指定してください。 その際、ソート方向は無視されます。

引数 datas は、全て有効ブローブである必要があります。 無効ブローブが含まれていた場合は例外を発行します。 また、 datas に格納されたブローブデータのハンドルが、このオブジェクトが持つハンドルと異なる場合もパラメータエラーとなります。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。

エラーコード:

ErrorCode メンバ内容
51FVIL.ErrorCode.LICENSE_ERROR ライセンスキーが見つからない為、実行できません。 または、 FVIL._SetUp.InitVisionLibrary が実行されていません。
12FVIL.ErrorCode.INVALID_OBJECTブローブ解析結果ハンドルが無効です。
11FVIL.ErrorCode.INVALID_PARAMETER 引数が異常です。配列の要素数は1つ以上必要です。 また、1つ以上のキーを指定する必要があります。 その他、無効ブローブが含まれていた場合、ブローブデータとこのオブジェクトのハンドルが一致しない場合もこのエラーが発生します。

Exceptions

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

See Also