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