3

我生成了一系列 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);

}

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

4

1 回答 1

2

我检查了rejectedCandidates,发现它正在检测标记,但由于某种原因被拒绝了!

所以我转移到另一个标记是 Apriltags,它给出了更好的结果。我不知道哪个库是最好的,但继续尝试看看哪个对你有用。

于 2017-08-08T21:41:39.603 回答