在使用python(2.7.x)opencv(2.4.9)中的SIFT比较两个图像后,我一直试图找到一种生成相似度得分(%)的方法。我只能找到在比赛之间画线的例子。我该如何处理。
答案 0 :(得分:6)
在Matlab中有一个opencv等效的vl_ubcmatch函数。
以下是opencv documentation的摘录。
# 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函数。
我希望你会发现它很有帮助。