运行以下代码时遇到问题,该代码基于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)
我需要一些帮助来弄清楚出了什么问题。谢谢。