calib3d_findFundamentalMat_arrayF32

[32/64bit] 2つの画像中の対応する点から,基本行列を求めます.

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

p1 = var : Point2f[] points1
p2 = int : int points1Size
p3 = var : Point2f[] points2
p4 = int : int points2Size
p5 = int : int method
p6 = double : double param1
p7 = double : double param2
p8 = sptr : IntPtr mask
p9 = var : out IntPtr returnValue

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

解説

この関数は,上述した4つの手法のうちの1つを用いて基本行列を計算し,その結果を返します.通常は,1つの行列だけが求められます.計算された基本行列は,指定された点に対応するエピポーラ線を求める computeCorrespondEpilines に渡すことができます.また,stereoRectifyUncalibrated に渡して,平行化変換を計算することもできます. :// 例.RANSAC アルゴリズムを用いた基本行列の推定int point_count = 100;vector<Point2f> points1(point_count);vector<Point2f> points2(point_count);// ここでポイントを初期化します ....for( int i = 0; i < point_count; i++ ){ points1[i] = ...; points2[i] = ...;}Mat fundamental_matrix = findFundamentalMat(points1, points2, FM_RANSAC, 3, 0.99);fragment

元関数名(C#): calib3d_findFundamentalMat_arrayF32
元DLLエクスポート名: calib3d_findFundamentalMat_arrayF32
参照元CSファイル: Internal\PInvoke\NativeMethods\calib3d\NativeMethods_calib3d.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) calib3d_findFundamentalMat_arrayF32(
    cv::Point2f *points1, int points1Size,
    cv::Point2f *points2, int points2Size,
    int method, double param1, double param2,
    cv::_OutputArray *mask,
    cv::Mat **returnValue)
{
    BEGIN_WRAP
    const cv::Mat points1M(points1Size, 1, CV_32FC2, points1);
    const cv::Mat points2M(points2Size, 1, CV_32FC2, points2);
    const auto mat = cv::findFundamentalMat(
        points1M, points2M, method, param1, param2, entity(mask));
    *returnValue = new cv::Mat(mat);
    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