我生成了一系列aruco标记DICT_4X4_50
并打印出来但是当我在此图像上启动探测器时,它不起作用..虽然标记非常明显:
int main(int argv, char** argc)
{
Mat frame = imread(argc[1], CV_LOAD_IMAGE_COLOR);
vector<int> markerIds;
vector<vector<Point2f>> markerCorners, rejectedCandidates;
Ptr<aruco::Dictionary> markerDictionary = aruco::getPredefinedDictionary(aruco::PREDEFINED_DICTIONARY_NAME::DICT_4X4_50);
aruco::detectMarkers(frame, markerDictionary, markerCorners, markerIds);
aruco::drawDetectedMarkers(frame, markerCorners, markerIds);
imshow("Webcam", frame);
waitKey(0);
}
图像不够好还是有一些我可以修改的参数?
答案 0 :(得分:2)
我已检查过rejectedCandidates
,我发现它已检测到标记,但出于某种原因被拒绝了!
所以我转移到另一个标记是Apriltags并且它提供了更好的结果..我不知道哪个库是最好的但是继续尝试并且看看哪个适合你。