import sys import cv2 import cv2.xfeatures2d import numpy as np from matplotlib import pyplot as plt sys.path.append('/usr/lib/python2.7/site-packages') img_bgr=cv2.imread('sc2.png') img_gray=cv2.cvtColor(img_bgr,cv2.COLOR_BGR2GRAY) template=cv2.imread('template.png',0) freakExtractor = cv2.xfeatures2d.FREAK_create() kp1,des1=freakExtractor.compute(img_bgr.png,None) kp2,des2=freakExtractor.compute(template.png,None) bf=cv2.BFMatcher() matches=bf.knnmatch(des1,des2,k=2) matches=sorted(matches,key=lambda x:x.distance) img3=cv2.drawMatchesKnn(img1,kp1,img2,kp2,matches,None,flags=2) plt.imshow(img3),plt.imshow() cv2.waitKey(0) cv2.destroyAllWindows()
Error: Traceback (most recent call last): File "test3.py", line 15, in <module> matches=bf.knnmatch(des1,des2,k=2) AttributeError: 'cv2.BFMatcher' object has no attribute 'knnmatch'