calib3d_initCameraMatrix2D_array

[32/64bit] 3D-2D の点の対応関係から,初期のカメラ固有マトリックスを求めます.

calib3d_initCameraMatrix2D_array p1,p2,p3,p4,p5,p6,p7,p8,p9

p1 = sptr : IntPtr[] objectPoints
p2 = int : int opSize1
p3 = var : int[] opSize2
p4 = sptr : IntPtr[] imagePoints
p5 = int : int ipSize1
p6 = var : int[] ipSize2
p7 = ARGS_SIZE : Size imageSize
p8 = double : double aspectRatio
p9 = var : out IntPtr returnValue

(プラグイン / モジュール : OpenCvSharpExtern.dll)

解説

この関数は,カメラキャリブレーション処理のための,初期のカメラ固有マトリクスを推定して返します.現在のところ,この関数は平面的なキャリブレーションパターン(各オブジェクトポイントのz座標が0であるパターン)のみをサポートしています.

元関数名(C#): calib3d_initCameraMatrix2D_array
元DLLエクスポート名: calib3d_initCameraMatrix2D_array
参照元CSファイル: Internal\PInvoke\NativeMethods\calib3d\NativeMethods_calib3d.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) calib3d_initCameraMatrix2D_array(
    cv::Point3f **objectPoints, int opSize1, int *opSize2,
    cv::Point2f **imagePoints, int ipSize1, int *ipSize2, MyCvSize imageSize, double aspectRatio,
    cv::Mat **returnValue)
{
    BEGIN_WRAP
    std::vector<std::vector<cv::Point3f> > objectPointsVec(opSize1);
    for (auto i = 0; i < opSize1; i++)
        objectPointsVec[i] = std::vector<cv::Point3f>(objectPoints[i], objectPoints[i] + opSize2[i]);
    std::vector<std::vector<cv::Point3f> > imagePointsVec(ipSize1);
    for (auto i = 0; i < ipSize1; i++)
        imagePointsVec[i] = std::vector<cv::Point3f>(imagePoints[i], imagePoints[i] + ipSize2[i]);

    const auto ret = cv::initCameraMatrix2D(objectPointsVec, imagePointsVec, cpp(imageSize), aspectRatio);
    *returnValue = new cv::Mat(ret);
    END_WRAP
}

情報

プラグイン / モジュールOpenCvSharpExtern.dll
バージョン1.00
作成日2021/11/30
著作者inovia
URLhttps://hsp.moe/
備考#include "OpenCvSharpExtern32.as"
#include "OpenCvSharpExtern64.as"
使用するHSPランタイムのビット数に合わせたインクルードファイルを使用すること
タイプOpenCVSharpラッパーDLL
グループNativeMethods_calib3d
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\OpenCvSharpExtern.hs