代码在下面。
我的输出:'(len(matches))'= 0-没有匹配项。另外,输出的图像没有线条(标志),为什么没有匹配项?
我尝试使用示例代码中的图片来完成此操作,
这种方法中没有人起作用:
cv2.NORM_HAMMING
cv2.NORM_HAMMING2
cv2.NORM_L1
cv2.NORM_L2SQR
cv2.NORM_MINMAX
cv2.NORM_RELATIVE
cv2.NORM_TYPE_MASK
img1 = cv2.imread('3.jpg',0)
img2 = cv2.imread('3q3.jpg',0)
orb = cv2.ORB_create()
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)
print(len(matches))
for m in matches:
print(m.distance)
img3 = cv2.drawMatches(img1,kp1,img2,kp2,matches[:10],None, flags=2)
cv2.imshow('s',img3)
cv2.waitKey(0)