1視野による特殊カメラキャリブレーションの実行

Namespace: fvalgcli
Assembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)

Syntax

C#
public static int fnFIE_calib_calc_1shot(
	FHANDLE hcalib,
	int view_num,
	ref F_CAMERA_PARAM pcamera,
	FMATRIX_PTR homohraphy
)
Visual Basic
Public Shared Function fnFIE_calib_calc_1shot ( 
	hcalib As FHANDLE,
	view_num As Integer,
	ByRef pcamera As F_CAMERA_PARAM,
	homohraphy As FMATRIX_PTR
) As Integer

Parameters

hcalib
Type: fvalgcli..::..FHANDLE
キャリブレーションデータオブジェクト
view_num
Type: System..::..Int32
hcalib に何番目に追加したデータを使うか
(0 <= view_num < fnFIE_calib_add_data() を呼んだ回数)
pcamera
Type: fvalgcli..::..F_CAMERA_PARAM%
カメラ内部パラメータ構造体
homohraphy
Type: fvalgcli..::..FMATRIX_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

Examples

C# Copy imageCopy
//    $Revision: 1.1 $

using System;
using System.Collections.Generic;
using System.Text;
using fvalgcli;

namespace TC
{
    public partial class FIE
    {
        /// <summary>
        /// 1視野による特殊カメラキャリブレーションの実行.
        /// </summary>
        /// <param name="hcalib"></param>
        /// <returns></returns>
        public F_CAMERA_PARAM fnFIE_calib_calc_1shot(FHANDLE hcalib)
        {
            int status = (int)f_err.F_ERR_NONE;

            FMATRIX_PTR homography = FMATRIX_PTR.Zero;                            // カメラ混合パラメータ.
            F_CAMERA_PARAM pcamera = F_CAMERA_PARAM.init(0, 0, 0, 0, 0, 0, 0);    // カメラ内部パラメータ初期化.

            try
            {
                homography = FMATRIX_PTR.alloc(3, 3);
                status = api.fnFIE_calib_calc_1shot(hcalib, 0, ref pcamera, homography);
                Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0})", (f_err)status);

                // パラメータ表示.
                Console.WriteLine(" a = {0}\n b = {1}\n g = {2}\n u = {3}\n v = {4}\n k1 = {5}\n k2 = {6}\n",
                                pcamera.a, pcamera.b, pcamera.g, pcamera.u, pcamera.v, pcamera.k1, pcamera.k2);
                return pcamera;
            }
            finally
            {
                homography.Dispose();
            }
        }
    }
}


Visual Basic Copy imageCopy
'    $Revision: 1.1 $

Imports System.Collections.Generic
Imports System.Text
Imports fvalgcli

Public Partial Class FIE
    ''' <summary>
    ''' 1視野による特殊カメラキャリブレーションの実行.
    ''' </summary>
    ''' <param name="hcalib"></param>
    ''' <returns></returns>
    Public Function fnFIE_calib_calc_1shot(hcalib As FHANDLE) As F_CAMERA_PARAM
        Dim status As Integer = CInt(f_err.F_ERR_NONE)

        Dim homography As FMATRIX_PTR = FMATRIX_PTR.Zero
        ' カメラ混合パラメータ.
        Dim pcamera As F_CAMERA_PARAM = F_CAMERA_PARAM.init(0, 0, 0, 0, 0, 0, _
            0)
        ' カメラ内部パラメータ初期化.
        Try
            homography = FMATRIX_PTR.alloc(3, 3)
            status = api.fnFIE_calib_calc_1shot(hcalib, 0, pcamera, homography)
            Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status, f_err))

            ' パラメータ表示.
            Console.WriteLine(" a = {0}" & vbLf & " b = {1}" & vbLf & " g = {2}" & vbLf & " u = {3}" & vbLf & " v = {4}" & vbLf & " k1 = {5}" & vbLf & " k2 = {6}" & vbLf, pcamera.a, pcamera.b, pcamera.g, pcamera.u, pcamera.v, _
                pcamera.k1, pcamera.k2)
            Return pcamera
        Finally
            homography.Dispose()
        End Try
    End Function
End Class

See Also