0

我在运行以下基于 ArUco 官方calibrate_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