gpt4 book ai didi

python - OpenCV 绘制非匹配点

转载 作者:太空宇宙 更新时间:2023-11-03 22:24:32 30 4
gpt4 key购买 nike

我关注了OpenCV Feature Detection and Description tutorial并使用OpenCV中的SIFT等算法寻找两幅图像之间的匹配特征点。据我了解,这些算法可以找到两张图像之间的相似区域。但我对识别不同或不相似的区域很感兴趣。

我如何在两个图像上绘制所有不匹配的特征点?此外,我能否在这些不匹配点周围绘制边界,以便能够显示 2 个图像中的哪些区域不同?

我在 Windows 7 上使用 Python 代码并从最新的 OpenCV 源构建。

最佳答案

  1. 在两张图片上绘制所有不匹配的特征点:

一旦您了解了 Matcher objects 的结构,这项任务就非常简单了来自两个描述符的匹配 (matches = bf.match(des1,des2))。与此问题相关的两个 Matcher 对象的属性如下:

  • DMatch.trainIdx:火车描述符中的描述符索引(或火车图像中的关键点)
  • DMatch.queryIdx:查询描述符中描述符(或查询图像的关键点)的索引

然后,了解这些信息,正如@uzair_syed 所说,这只是一个 simple list operations task .


  1. 在非匹配点周围绘制边界:

为了实现这一点,我会做这样的事情:

  • 为每个不匹配的点创建一个带有白色像素的黑色蒙版
  • 根据非匹配点簇的密度扩张具有大内核(即 15 x 15 像素)的掩码。
  • 腐 eclipse 具有相同内核大小的掩码。
  • 最后,在掩码上应用findContours 函数来获取非匹配点的边界。

更多信息,你可以看看这个question and its answer .

希望它能让您走上正轨!

关于python - OpenCV 绘制非匹配点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43775842/

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