为什么aruco在我的图像中没有检测到标记

时间:2017-08-08 09:40:47

标签: c++ opencv aruco

我生成了一系列aruco标记DICT_4X4_50并打印出来但是当我在此图像上启动探测器时,它不起作用..虽然标记非常明显:

enter image description here

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);

}

图像不够好还是有一些我可以修改的参数?

1 个答案:

答案 0 :(得分:2)

我已检查过rejectedCandidates,我发现它已检测到标记,但出于某种原因被拒绝了!

所以我转移到另一个标记是Apriltags并且它提供了更好的结果..我不知道哪个库是最好的但是继续尝试并且看看哪个适合你。