カメラ内部パラメータの算出

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

Syntax

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

Parameters

hcalib
Type: fvalgcli..::..FHANDLE
キャリブレーションデータオブジェクト
pcamera
Type: fvalgcli..::..F_CAMERA_PARAM%
カメラ内部パラメータ構造体

Return Value

Type: Int32
以下のエラーコードを返します。

エラーコード:
f_err内容
F_ERR_NONE正常終了
F_ERR_INVALID_OBJECTオブジェクト異常
F_ERR_INVALID_PARAMパラメータ異常
F_ERR_NOMEMORYメモリ不足エラー
F_ERR_INVALID_IMAGE画像オブジェクトの異常
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>
        /// カメラ内部パラメータの算出.
        /// </summary>
        /// <param name="hcalib"></param>
        /// <returns></returns>
        public F_CAMERA_PARAM fnFIE_calib_calc_intrinsic_parameters(FHANDLE hcalib)
        {
            int status = (int)f_err.F_ERR_NONE;

            F_CAMERA_PARAM pcamera = F_CAMERA_PARAM.init(0, 0, 0, 0, 0, 0, 0);    // 内部パラメータ初期化.

            status = api.fnFIE_calib_calc_intrinsic_parameters(hcalib, ref pcamera);
            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;
        }
    }
}


Visual Basic Copy imageCopy
'    $Revision: 1.1 $

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

Public Partial Class FIE
    ''' <summary>
    ''' カメラ内部パラメータの算出.
    ''' </summary>
    ''' <param name="hcalib"></param>
    ''' <returns></returns>
    Public Function fnFIE_calib_calc_intrinsic_parameters(hcalib As FHANDLE) As F_CAMERA_PARAM
        Dim status As Integer = CInt(f_err.F_ERR_NONE)

        Dim pcamera As F_CAMERA_PARAM = F_CAMERA_PARAM.init(0, 0, 0, 0, 0, 0, _
            0)
        ' 内部パラメータ初期化.
        status = api.fnFIE_calib_calc_intrinsic_parameters(hcalib, pcamera)
        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
    End Function
End Class

See Also