指定ポーズ下の対応点取得
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static int fnFIE_fpm_get_relative_edge( FHANDLE hfpm, int no, int err_wide, F_DEDGE_PTR edges, ref int edge_num ) |
Visual Basic |
---|
Public Shared Function fnFIE_fpm_get_relative_edge ( hfpm As FHANDLE, no As Integer, err_wide As Integer, edges As F_DEDGE_PTR, ByRef edge_num As Integer ) As Integer |
Parameters
- hfpm
- Type: fvalgcli..::..FHANDLE
FPMオブジェクト(サーチを実行済み)
- no
- Type: System..::..Int32
対応するエッジを取得するサーチ回答番号(0〜)
- err_wide
- Type: System..::..Int32
誤差範囲。±err_wide (0以上)
- edges
- Type: fvalgcli..::..F_DEDGE_PTR
対応点情報
- edge_num
- Type: System..::..Int32%
取得した対応点数
Return Value
Type: Int32以下のエラーコードを返します。
エラーコード:
f_err | 内容 |
---|---|
F_ERR_NONE | 正常終了 |
F_ERR_NOMEMORY | メモリ不足 |
F_ERR_INVALID_OBJECT | 不正なオブジェクトが入力されました |
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="hFPM"></param> public void fnFIE_fpm_get_relative_edge(FHANDLE hFPM, FHANDLE hFeature) { F_DEDGE_PTR edges = new F_DEDGE_PTR();//IntPtr.Zero; try { // 特徴量数の取得. int num = 0; api.fnFIE_fpm_feature_get_num(hFeature, ref num); Console.WriteLine(num); edges = F_DEDGE_PTR.alloc(num); int no = 0; int err_wide = 1; int edge_num = 0; int status = api.fnFIE_fpm_get_relative_edge(hFPM, no, err_wide, edges, ref edge_num); Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_fpm_get_relative_edge: エラーが発生しました。({0})", (f_err)status); Console.WriteLine("fnFIE_fpm_get_relative_edge"); for (int i = 0; i < edge_num; i++) Console.WriteLine("edge[{0}]=({1},{2},{3},{4})", i, edges[i].x, edges[i].y, edges[i].q, edges[i].mag); } finally { edges.Dispose(); } } } } |
Visual Basic | Copy |
---|---|
' $Revision: 1.1 $ Imports System.Collections.Generic Imports System.Text Imports fvalgcli Public Partial Class FIE ''' <summary> ''' 指定ポーズ下の対応点取得. ''' </summary> ''' <param name="hFPM"></param> Public Sub fnFIE_fpm_get_relative_edge(hFPM As FHANDLE, hFeature As FHANDLE) Dim edges As New F_DEDGE_PTR() 'IntPtr.Zero; Try ' 特徴量数の取得. Dim num As Integer = 0 api.fnFIE_fpm_feature_get_num(hFeature, num) Console.WriteLine(num) edges = F_DEDGE_PTR.alloc(num) Dim no As Integer = 0 Dim err_wide As Integer = 1 Dim edge_num As Integer = 0 Dim status As Integer = api.fnFIE_fpm_get_relative_edge(hFPM, no, err_wide, edges, edge_num) Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_fpm_get_relative_edge: エラーが発生しました。({0})", CType(status, f_err)) Console.WriteLine("fnFIE_fpm_get_relative_edge") For i As Integer = 0 To edge_num - 1 Console.WriteLine("edge[{0}]=({1},{2},{3},{4})", i, edges(i).x, edges(i).y, edges(i).q, edges(i).mag) Next Finally edges.Dispose() End Try End Sub End Class |