キャリブレーションテーブルの計算
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static int fnFIE_xyqn_calc_table( FHANDLE hcalib, double delt_x, double delt_y, double delt_q, int channels, DPNT_T_PTR pos_tbl ) |
Visual Basic |
---|
Public Shared Function fnFIE_xyqn_calc_table ( hcalib As FHANDLE, delt_x As Double, delt_y As Double, delt_q As Double, channels As Integer, pos_tbl As DPNT_T_PTR ) As Integer |
Parameters
- hcalib
- Type: fvalgcli..::..FHANDLE
キャリブレーションシステムのハンドル
- delt_x
- Type: System..::..Double
平行移動キャリブレーション時のX方向シフト量Δx(mm):符号付きの数値で指定
- delt_y
- Type: System..::..Double
平行移動キャリブレーション次のY方向シフト量Δy(mm):符号付きの数値で指定
- delt_q
- Type: System..::..Double
回転量Δθ(rad):符号無しの数値で指定
- channels
- Type: System..::..Int32
カメラチャンネル数(2以上)
- pos_tbl
- Type: fvalgcli..::..DPNT_T_PTR
キャリブレーションデータテーブル
Return Value
Type: Int32以下のエラーコードを返します。
エラーコード:
f_err | 内容 |
---|---|
F_ERR_NONE | 正常終了 |
F_ERR_INVALID_OBJECT | 不正なオブジェクトが渡された |
F_ERR_INVALID_PARAM | パラメータ異常 |
F_ERR_NOMEMORY | メモリ不足エラー |
F_ERR_CALC_IMPOSSIBLE | 与えられた座標で計算不能 |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
Remarks
具体的な使用方法についてはサンプルプロジェクトの xyqn をご参照ください。 サンプルプロジェクトはインストーラでは配布されませんので、 弊社ホームページからダウンロードしてください。
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="hCalib"></param> public void fnFIE_xyqn_calc_table(FHANDLE hCalib) { DPNT_T_PTR pos_tbl = IntPtr.Zero; try { double delt_x = 2.0; double delt_y = 3.0; double delt_q = 1.5; int channels = 8; pos_tbl = DPNT_T_PTR.alloc(8); pos_tbl[0] = DPNT_T.init(50, 50); pos_tbl[1] = DPNT_T.init(50, 100); pos_tbl[2] = DPNT_T.init(100, 100); pos_tbl[3] = DPNT_T.init(0, 0); pos_tbl[4] = DPNT_T.init(75, 75); pos_tbl[5] = DPNT_T.init(75, 25); pos_tbl[6] = DPNT_T.init(150, 150); pos_tbl[7] = DPNT_T.init(25, 25); int status = api.fnFIE_xyqn_calc_table(hCalib, delt_x, delt_y, delt_q, channels, pos_tbl); Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_xyqn_calc_table: {0}", (f_err)status); Console.WriteLine("fnFIE_xyqn_calc_table"); } finally { pos_tbl.Dispose(); } } } } |
Visual Basic | Copy |
---|---|
' $Revision: 1.1 $ Imports System.Collections.Generic Imports System.Text Imports fvalgcli Public Partial Class FIE ''' <summary> ''' キャリブレーションテーブルの計算 ''' </summary> ''' <param name="hCalib"></param> Public Sub fnFIE_xyqn_calc_table(hCalib As FHANDLE) Dim pos_tbl As DPNT_T_PTR = IntPtr.Zero Try Dim delt_x As Double = 2.0 Dim delt_y As Double = 3.0 Dim delt_q As Double = 1.5 Dim channels As Integer = 8 pos_tbl = DPNT_T_PTR.alloc(8) pos_tbl(0) = DPNT_T.init(50, 50) pos_tbl(1) = DPNT_T.init(50, 100) pos_tbl(2) = DPNT_T.init(100, 100) pos_tbl(3) = DPNT_T.init(0, 0) pos_tbl(4) = DPNT_T.init(75, 75) pos_tbl(5) = DPNT_T.init(75, 25) pos_tbl(6) = DPNT_T.init(150, 150) pos_tbl(7) = DPNT_T.init(25, 25) Dim status As Integer = api.fnFIE_xyqn_calc_table(hCalib, delt_x, delt_y, delt_q, channels, pos_tbl) Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_xyqn_calc_table: {0}", CType(status, f_err)) Console.WriteLine("fnFIE_xyqn_calc_table") Finally pos_tbl.Dispose() End Try End Sub End Class |