[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 |