首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV3.0:如何使用ArUco库检测正常标记

OpenCV3.0:如何使用ArUco库检测正常标记
EN

Stack Overflow用户
提问于 2016-01-16 16:21:01
回答 1查看 3.2K关注 0票数 1

我在opencv3.0中实现了ArUco模块,它在检测aruco标记时工作非常好。

对于aruco标记检测,我使用这张图像。

但是,是否可以使用aruco模块来检测像下面这样的正常标记呢?

下面是我的代码片段:

代码语言:javascript
复制
aruco::DetectorParameters detectorParams;
if (parser.has("dp")) {
bool readOk = readDetectorParameters(parser.get<string>("dp"), detectorParams);
    if (!readOk) {
        cerr << "Invalid detector parameters file" << endl;
        return 0;
    }
}

aruco::Dictionary dictionary =
    aruco::getPredefinedDictionary(aruco::PREDEFINED_DICTIONARY_NAME(dictionaryId));

Mat camMatrix, distCoeffs;
if (estimatePose) {
    bool readOk = readCameraParameters(parser.get<string>("c"), camMatrix, distCoeffs);
    if (!readOk) {
        cerr << "Invalid camera file" << endl;
        return 0;
    }
}

// detect markers and estimate pose
    aruco::detectMarkers(image, dictionary, corners, ids, detectorParams, rejected);
    if (estimatePose && ids.size() > 0)
        aruco::estimatePoseSingleMarkers(corners, markerLength, camMatrix, distCoeffs, rvecs,
            tvecs);

// draw results
    image.copyTo(imageCopy);
    if (ids.size() > 0) {
        aruco::drawDetectedMarkers(imageCopy, corners, ids);

        if (estimatePose) {
            for (unsigned int i = 0; i < ids.size(); i++)
                aruco::drawAxis(imageCopy, camMatrix, distCoeffs, rvecs[i], tvecs[i],
                    markerLength * 0.5f);
        }
    }

    if (showRejected && rejected.size() > 0)
        aruco::drawDetectedMarkers(imageCopy, rejected, noArray(), Scalar(100, 0, 255));

    imshow("out", imageCopy);
    char key = (char)waitKey(waitTime);
    if (key == 27) break;
}

如何使这段代码检测正常的标记?

EN

回答 1

Stack Overflow用户

发布于 2016-01-16 21:11:20

常见问题

我应该使用预定义的字典还是生成自己的字典? 一般来说,使用预定义的字典之一更容易。但是,如果您需要一个更大的字典(从标记的数量或位数来看),您应该生成自己的字典。如果要使标记间距离最大化,以便在识别步骤中实现更好的错误校正,则字典生成也很有用。

我认为这正是您的情况,您需要使用标准ArUco字典中没有的内容。字典只是一个班级,您需要创建一个字典并用正确的数据填充它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34829197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档