ブローブ番号配列の特徴量に基づくフィルタリング
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static int fnFIE_measure_refilter_list( FHANDLE hresult, F_MEASURE_FILTER_RANGE_PTR filters, uint filter_num, UINT_PTR blob_numbers, ref uint num ) |
Visual Basic |
---|
Public Shared Function fnFIE_measure_refilter_list ( hresult As FHANDLE, filters As F_MEASURE_FILTER_RANGE_PTR, filter_num As UInteger, blob_numbers As UINT_PTR, ByRef num As UInteger ) As Integer |
Parameters
- hresult
- Type: fvalgcli..::..FHANDLE
ブローブ解析結果ハンドル
- filters
- Type: fvalgcli..::..F_MEASURE_FILTER_RANGE_PTR
取得条件フィルタ配列 filter_num == 0 の場合は IntPtr.Zero を指定できます。
- filter_num
- Type: System..::..UInt32
filters の配列サイズ(単位:要素数, filter_num > 0)
- blob_numbers
- Type: fvalgcli..::..UINT_PTR
ブローブ番号配列
- num
- Type: System..::..UInt32%
blob_numbers の配列サイズ(単位:要素数)
Return Value
Type: Int32以下のエラーコードを返します。
エラーコード:
f_err | 内容 |
---|---|
F_ERR_NONE | 正常終了 |
F_ERR_NOMEMORY | メモリ不足エラー |
F_ERR_INVALID_OBJECT | hresult パラメータに指定されたブローブ解析結果ハンドルが不正 |
F_ERR_INVALID_PARAM | パラメータ不正 |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
Remarks
Examples
C# | Copy |
---|---|
// $Revision: 1.1 $ using System; using System.Collections.Generic; using System.Text; using fvalgcli; namespace TC { public partial class FIE { /// <summary> /// ブローブ番号配列の特徴量に基づくフィルタリング. /// </summary> /// <param name="result"></param> public void fnFIE_measure_refilter_list(FHANDLE result) { int status = 0; F_MEASURE_FILTER_RANGE_PTR filters = IntPtr.Zero; UINT_PTR numbers = IntPtr.Zero; try { uint num = 0; uint filter_num = 1; filters = F_MEASURE_FILTER_RANGE_PTR.alloc((int)filter_num); filters[0] = F_MEASURE_FILTER_RANGE.init(f_measure_feature_type.F_FEATURE_AREA, 0, 1000); status = api.fnFIE_measure_get_list(result, filters, filter_num, ref numbers, ref num); Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_measure_get_listでエラーが発生しました。({0})", (f_err)status); // 出力. Console.WriteLine("fnFIE_measure_get_list: num={0}", num); for (int i = 0; i < num; i++) { Console.WriteLine("numbers[{0}]={1}", i, numbers[i]); } // 再フィルタリング. filter_num = 2; filters.Dispose(); filters = F_MEASURE_FILTER_RANGE_PTR.alloc((int)filter_num); filters[0] = F_MEASURE_FILTER_RANGE.init(f_measure_feature_type.F_FEATURE_AREA, 0, 400); filters[1] = F_MEASURE_FILTER_RANGE.init(f_measure_feature_type.F_FEATURE_COLOR, 1, 1); status = api.fnFIE_measure_refilter_list(result, filters, filter_num, numbers, ref num); Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_measure_refilter_list: エラーが発生しました。({0})", (f_err)status); // 出力. Console.WriteLine("fnFIE_measure_refilter_list: num={0}", num); for (int i = 0; i < num; i++) { Console.WriteLine("numbers[{0}]={1}", i, numbers[i]); } } finally { filters.Dispose(); numbers.Dispose(); } } } } |
Visual Basic | Copy |
---|---|
' $Revision: 1.1 $ Imports System.Collections.Generic Imports System.Text Imports fvalgcli Public Partial Class FIE ''' <summary> ''' ブローブ番号配列の特徴量に基づくフィルタリング. ''' </summary> ''' <param name="result"></param> Public Sub fnFIE_measure_refilter_list(result As FHANDLE) Dim status As Integer = 0 Dim filters As F_MEASURE_FILTER_RANGE_PTR = IntPtr.Zero Dim numbers As UINT_PTR = IntPtr.Zero Try Dim num As UInteger = 0 Dim filter_num As UInteger = 1 filters = F_MEASURE_FILTER_RANGE_PTR.alloc(CInt(filter_num)) filters(0) = F_MEASURE_FILTER_RANGE.init(f_measure_feature_type.F_FEATURE_AREA, 0, 1000) status = api.fnFIE_measure_get_list(result, filters, filter_num, numbers, num) Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_measure_get_listでエラーが発生しました。({0})", CType(status, f_err)) ' 出力. Console.WriteLine("fnFIE_measure_get_list: num={0}", num) For i As Integer = 0 To CType(num, Integer) - 1 Console.WriteLine("numbers[{0}]={1}", i, numbers(i)) Next ' 再フィルタリング. filter_num = 2 filters.Dispose() filters = F_MEASURE_FILTER_RANGE_PTR.alloc(CInt(filter_num)) filters(0) = F_MEASURE_FILTER_RANGE.init(f_measure_feature_type.F_FEATURE_AREA, 0, 400) filters(1) = F_MEASURE_FILTER_RANGE.init(f_measure_feature_type.F_FEATURE_COLOR, 1, 1) status = api.fnFIE_measure_refilter_list(result, filters, filter_num, numbers, num) Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_measure_refilter_list: エラーが発生しました。({0})", CType(status, f_err)) ' 出力. Console.WriteLine("fnFIE_measure_refilter_list: num={0}", num) For i As Integer = 0 To CType(num, Integer) - 1 Console.WriteLine("numbers[{0}]={1}", i, numbers(i)) Next Finally filters.Dispose() numbers.Dispose() End Try End Sub End Class |