[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 |
URL | https://hsp.moe/ |
備考 | #include "OpenCvSharpExtern32.as"
#include "OpenCvSharpExtern64.as" 使用するHSPランタイムのビット数に合わせたインクルードファイルを使用すること |
タイプ | OpenCVSharpラッパーDLL |
グループ | NativeMethods_calib3d |
対応環境 |
|
hs ファイル | hsphelp\OpenCvSharpExtern.hs |