首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ORB检查重复图像

用ORB检查重复图像
EN

Stack Overflow用户
提问于 2016-01-28 10:29:26
回答 1查看 762关注 0票数 1

目前我正在检查重复的图像,所以我使用ORB,第一部分几乎完成了,我有两个图像的描述向量,现在作为第二部分,我想知道如何用hamming距离来计算分数,以及应该说这些是重复的阈值是什么。

代码语言:javascript
复制
    img1 = gray_image15
    img2 = gray_image25
    # Initiate STAR detector
    orb = cv2.ORB_create() 
    # find the keypoints with ORB
    kp1 = orb.detect(img1,None)
    kp2 = orb.detect(img2,None)
    # compute the descriptors with ORB
    kp1, des1 = orb.compute(img1, kp1)
    kp2, des2 = orb.compute(img2, kp2)

    matcher = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
    matches = matcher.match(des1, des2)
    # Sort them in the order of their distance.
    matches = sorted(matches, key = lambda x:x.distance)

我只想知道这个过程的下一个步骤,以便最终我可以打印是或否的副本。我在python 2.7中使用opencv3.0.0

EN

回答 1

Stack Overflow用户

发布于 2016-01-28 11:11:09

  • 一旦获得描述符,就可以使用单词包模型对参考图像的描述符进行聚类,即构建一个词汇表(可视单词)。
  • 然后将另一个图像的描述符投影到这个词汇表上。
  • 然后,您可以获得一个直方图,显示每个视觉单词在这两个图像中的分布。
  • 使用直方图比较技术对这两个直方图进行比较,并使用阈值检测重复的直方图。例如,如果使用Bhattacharyya距离,那么低值意味着很好的匹配。

我没有这方面的python实现,但是您可以在c++ here中找到类似的东西。

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

https://stackoverflow.com/questions/35058860

复制
相关文章

相似问题

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