我一直在尝试使用Python(2.7.x)和OpenCV(2.4.9)中的SIFT算法比较两幅图像,并生成相似度得分(以%表示)。但我只找到了画出匹配线的示例。请问该如何继续进行?
我一直在尝试使用Python(2.7.x)和OpenCV(2.4.9)中的SIFT算法比较两幅图像,并生成相似度得分(以%表示)。但我只找到了画出匹配线的示例。请问该如何继续进行?
在Matlab中,vl_ubcmatch函数有一个对应的opencv等效函数。
以下是摘自opencv文档的节选。
# create BFMatcher object
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
# Match descriptors.
matches = bf.match(des1,des2)
matches = bf.match(des1, des2)
会匹配两组描述符并返回一个DMatch对象列表。这个DMatch对象有四个属性:distance、trainIdx、queryIdx和imgIdx。这些返回值等同于vl_ubcmatch函数。
希望这对您有所帮助。