gpt4 book ai didi

c++ - 使用同一词典中的多个标记进行 Aruco 标记跟踪

转载 作者:搜寻专家 更新时间:2023-10-31 02:04:30 29 4
gpt4 key购买 nike

我正在使用来自 OpenCV ContribChAruCo 标记跟踪。我想跟踪多个板,但创建标记板的机制并不像我期望的那样。

我想象的是有一个字典(比如说,DICT_4X4_50)使用字典中不同的 ID 范围创建许多标记。
CharucoBoard::create() 接受字典并使用标记 0-X 来创建棋盘。我想在范围的开头添加一个偏移量。

如果我可以创建板,cv::aruco::detectMarkers() 输出可以确定哪个板在 View 中的 ID。这是否受支持,如果不支持,我应该如何跟踪多个目标?

最佳答案

您可以简单地向 Board 类中的 vector id 中的元素添加偏移量。我不能告诉你这是否“受支持”,但我们将它用于非 charuco 板并且工作正常。由于 charuco 板索引 nearestMarkerIdxids vector 中的索引,因此应该可以正常工作。

cv::Ptr<cv::aruco::CharucoBoard> board1 =  cv::aruco::CharucoBoard::create(3, 5, 0.32f, 0.08f, dictionary);
cv::Ptr<cv::aruco::CharucoBoard> board2 = cv::aruco::CharucoBoard::create(3, 5, 0.32f, 0.08f, dictionary);
int id_offset_board2 = board1->ids.size();
for(auto& id: board2->ids)
{
id += id_offset_board2;
}

关于c++ - 使用同一词典中的多个标记进行 Aruco 标记跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53379508/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com