gpt4 book ai didi

image - 处理DMatch向量,访问数据Opencv

转载 作者:行者123 更新时间:2023-12-02 16:30:54 24 4
gpt4 key购买 nike

我已经计算了描述符,但是现在,在将其从关键点转换为浮点数之前,我想清除异常值。

我知道这可以通过以下方式自动完成

BruteForceMatcher<cv::L2<float> > matcher;

std::vector<cv::DMatch> matches;


matcher.match(descriptors1,descriptors2, matches);
std::nth_element(matches.begin(),matches.begin()+24, matches.end());
matches.erase(matches.begin()+25, matches.end());`

但这仅在下一步是绘制匹配项时才有用,而实际上我想做的就是在某些图像配准 Material 中为posprocessing获得最佳的25个匹配项。

任何帮助将是有用的。谢谢

伊万

最佳答案

使用Dmatch vector 中每个元素的trainIdx和queryIdx属性从您提供的关键点 vector 中提取匹配的对应索引。

基本上,matches.at(i).trainIdx和matches.at(i).queryIdx将为您提供第i个对应匹配项的索引。最好的部分是,匹配按质量降序排列,例如,i = 1比i = 3更好,依此类推。因此,在您的代码中,您正在提取最佳的24个匹配项。

我不知道您是否仍需要此问题的帮助,距您提出问题已经一年了。但是我有同样的问题,碰巧遇到了你的问题。我也花了时间去弄清楚。我认为回答这个问题是我的责任,以免其他人也遇到同样的问题并需要帮助。让它发光!

关于image - 处理DMatch向量,访问数据Opencv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9364018/

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