Я пытаюсь использовать генератор маркеров, используя http://keystone.umd.edu/html/markergen.html
но обнаруженный маркер имеет неверный идентификатор.
вот мой код
cv::Mat operator()(cv::Mat input)
{
cv::flip(input, input, 1);
MDetector.setDictionary(aruco::Dictionary::ARUCO);
iThresParam1 = MDetector.getParams()._thresParam1;
iThresParam2 = MDetector.getParams()._thresParam2;
MDetector.setThresholdParams(7, 7);
MDetector.setThresholdParamRange(2, 0);
//Ok, let's detect
MDetector.detect(input,Markers,CamParam,-1);
//for each marker, draw info and its boundaries in the image
for (unsigned int i=0;i<Markers.size();i++) {
Markers[i].draw(input,cv::Scalar(0,0,255),2);
}
cv::imshow("in",input);
cv::imshow("thres", MDetector.getThresholdedImage());
return input;
}
Вы пытались отразить изображение с камеры? Это иногда приводит к «неправильно» обнаруженным идентификаторам.
Других решений пока нет …