我在运行以下基于 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)
我需要一些帮助来弄清楚出了什么问题。谢谢你。