1
我已經使用OpenCV實現了一個密度特徵檢測器,其中一個答案爲question。查找OpenCV密集圖像之間的匹配SIFT
sift = cv2.SIFT()
dense=cv2.FeatureDetector_create("Dense")
kp1=dense.detect(template_detect)
des1=sift.compute(template_detect,kp1)
kp2=dense.detect(image_detect)
des2=sift.compute(image_detect,kp2)
它運作良好,但是,我有興趣比較這兩個圖像,試圖找到它們之間的匹配。然而,當試圖像下面那樣實現它時,我得到錯誤「TypeError:queryDescriptors不是數字元組」。
bf = cv2.BFMatcher(cv2.NORM_L2, crossCheck=True)
matches = bf.match(des1,des2)
matches = sorted(matches, key = lambda x:x.distance)
img3 = cv2.drawMatches(template_detect,kp1,image_detect,kp2,matches[:4], 2, None)
有沒有更好的方法,我應該試圖實現圖像之間的關鍵點匹配?