我需要在OpenCV中使用ORB和BFMatcher后评估结果,以便在将img1与img3和img2与img3进行比较后解释匹配。我知道ORB匹配包含汉明距离列表,但我想将此向量转换为相似性的标量值。
我想到了两个场景: 1)使用匹配的长度,越高表示相似性越大。但是如果match1 = length的长度匹配2,我们如何处理?在这种情况下,我们可以2)添加所有距离,最小值是可取的。
我们可以将所有案例合并为一个指标吗?
这是我工作的最低限度:
orb = cv2.ORB()
kp1, des1 = orb.detectAndCompute(img1,None)
kp2, des2 = orb.detectAndCompute(img2,None)
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
matches = bf.match(des1,des2)
matches = sorted(matches, key = lambda x:x.distance)
return len(matches)
由于