Я пытаюсь получить библиотеку Aruco AR, пробовав простой тест в моем коде.Проблемы с перегруженным вызовом метода в C++
По какой-то причине я не могу получить вызов для обнаружения() для работы. Мой код выглядит следующим образом:
cv::Mat image(480,640,CV_8UC3, mimFrameRGB.data());
MarkerDetector mDetector;
std::vector<Marker> markers;
CameraParameters cParams();
float markerSize = 0.1f;
mDetector.detect(image,markers,cParams,markerSize);
Компилятор жалуется, что нет перегруженной функции, которая соответствует моим входным параметрам. В частности, этот параметр 3 должен иметь тип cv :: Mat.
Глядя на файл заголовок для MarkerDetector, следующие два метода вызовов найдены:
void detect(const cv::Mat &input,std::vector<Marker> &detectedMarkers,cv::Mat camMatrix=cv::Mat(),cv::Mat distCoeff=cv::Mat(),float markerSizeMeters=-1) throw (cv::Exception);
void detect(const cv::Mat &input,std::vector<Marker> &detectedMarkers, CameraParameters camParams,float markerSizeMeters=-1) throw (cv::Exception);
Я пытаюсь вызвать вторую, однако он выбирает первую и дает мне ошибку компиляции. Что происходит не так? мои входные параметры не соответствуют ни одному случаю?