首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为SIFT BF匹配从多幅图像中找到最佳匹配的图像

问为SIFT BF匹配从多幅图像中找到最佳匹配的图像
EN

Stack Overflow用户
提问于 2017-03-31 12:45:04
回答 3查看 3.6K关注 0票数 4

我读过许多关于使用SIFT和Brute匹配(如这和这 )来匹配一幅图像和多幅图像的问题。能不能多做一种匹配?我想做的是以下几点。

  1. 循环遍历目录中的查询图像
  2. 对于每一个图像提取,SIFT关键点和描述符
  3. 对每个火车/模板图像进行匹配(同样使用SIFT)
  4. 获得具有最佳匹配的模板图像(例如wrt最小欧几里得距离?)
  5. 使用此最佳模板图像并计算此模板图像与当前查询图像之间的仿射转换。

到目前为止,我一直到第三步都很成功,并且一直坚持在这一点上。

我正在使用Opencv 2.7.12和python 2.7。因为在这个版本中没有drawMatches,所以我正在使用这个实现。https://stackoverflow.com/a/26227854/6677891

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-04 14:35:33

第1步:运行RANSAC对您从BF-匹配得到的匹配。

步骤2:测试同形矩阵(如这里 )的有效性/优性

第三步:如果同形矩阵是好的,转换。

当然,欧几里德也应该工作。

票数 1
EN

Stack Overflow用户

发布于 2019-12-12 22:54:31

我建议如下:

为图像匹配过程创建一个工作流,以获得最佳匹配:

对数据库中的每一对图像做:

  1. 第1阶段:在应用SIFT (图像预处理)检查此这里之前执行任何图像对比度增强。
  2. Stage 2:运行SIFT并从每一对图像中提取匹配集作为CSV文件。
  3. 第3阶段:在每个生成的文件上运行RANSAC以消除任何异常值。

此外,如果您可以同时运行每个工作流,这将是很好的,这将给您一个短的执行时间。

检查此工作流以给您一个更好的想法:

​

票数 0
EN

Stack Overflow用户

发布于 2020-06-29 17:58:19

简单的方法是在每个图像对上做一个for循环,并使用它来找到n个最佳匹配的平均误差。然后选择错误最小的匹配或图像对。

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

https://stackoverflow.com/questions/43141031

复制
相关文章

相似问题

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