calib3d_stereoRectifyUncalibrated_InputArray

[32/64bit] キャリブレーションされていないステレオカメラに対して,平行化変換を行います.

calib3d_stereoRectifyUncalibrated_InputArray p1,p2,p3,p4,p5,p6,p7,p8

p1 = sptr : IntPtr points1
p2 = sptr : IntPtr points2
p3 = sptr : IntPtr F
p4 = ARGS_SIZE : Size imgSize
p5 = sptr : IntPtr H1
p6 = sptr : IntPtr H2
p7 = double : double threshold
p8 = var : out int returnValue

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

解説

この関数は,カメラの固有のパラメータや空間内の相対的な位置を知らずに,平行化変換を計算するので,「uncalibrated」という接尾辞が付きます.stereoRectify とのもう1つの関連する違いは,この関数が物体(3次元)空間における平行化変換ではなく,ホモグラフィ行列 H1 と H2 によってエンコードされた平面透視変換を出力することです.この関数は,アルゴリズム [104] を実装しています. 注意このアルゴリズムは,カメラの固有のパラメータを知る必要はありませんが,エピポーラ幾何学に大きく依存します.したがって,カメラレンズに大きな歪みがある場合は,基本行列を計算してこの関数を呼び出す前に,その歪みを補正した方が良いでしょう.例えば, calibrateCamera を使って,ステレオカメラの各ヘッドの歪み係数を個別に推定することができます.その後, undistort を用いて画像を補正したり, undistortPoints を用いて点座標だけを補正したりすることができます.

元関数名(C#): calib3d_stereoRectifyUncalibrated_InputArray
元DLLエクスポート名: calib3d_stereoRectifyUncalibrated_InputArray
参照元CSファイル: Internal\PInvoke\NativeMethods\calib3d\NativeMethods_calib3d.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) calib3d_stereoRectifyUncalibrated_InputArray(cv::_InputArray *points1, cv::_InputArray *points2,
    cv::_InputArray *F, MyCvSize imgSize,
    cv::_OutputArray *H1, cv::_OutputArray *H2,
    double threshold,
    int *returnValue)
{
    BEGIN_WRAP
    *returnValue = cv::stereoRectifyUncalibrated(*points1, *points2, *F, cpp(imgSize), *H1, *H2, threshold) ? 1 : 0;
    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