0

ArUco の公式のcalibration_camera.cppサンプルに基づく次のコードを実行すると問題が発生します。

    cv::aruco::Board arucoBoard;
    cv::Mat cameraMatrix, distCoeffs;
    cv::Size imgSize;
    std::vector< std::vector< cv::Point2f>> allCornersConcatenated;
    std::vector< int > allIdsConcatenated;
    std::vector< int > markerCounterPerFrame;
    std::vector<cv::Mat> rvecs, tvecs;
    double repError = cv::aruco::calibrateCameraAruco(allCornersConcatenated,
    allIdsConcatenated, markerCounterPerFrame, 
    arucoBoard, imgSize, cameraMatrix, distCoeffs, rvecs, tvecs, 0);

問題は、Visual Studio が「オーバーロードされた関数のインスタンスが引数リストと一致しない」と文句を言うことですが、引数の型が公式サンプルの引数の型と一致するため、理由がわかりません。次のメッセージが表示されます。

no instance of overloaded function "cv::aruco::calibrateCameraAruco" matches the argument list. argument types are: (std::vector<std::vector<cv::Point2f, std::allocator<cv::Point2f>>, std::allocator<std::vector<cv::Point2f, std::allocator<cv::Point2f>>>>, std::vector<int, std::allocator<int>>, std::vector<int, std::allocator<int>>, cv::aruco::Board, cv::Size, cv::Mat, cv::Mat, std::vector<cv::Mat, std::allocator<cv::Mat>>, std::vector<cv::Mat, std::allocator<cv::Mat>>, int) 何が問題なのかを理解するために、助けが必要です。ありがとうございました。

4

0 に答える 0