FLANN特征匹配(Python)
生活随笔
收集整理的這篇文章主要介紹了
FLANN特征匹配(Python)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
輸入圖片
算法輸出圖
可以看到,這里的算法效果比之前的ORB算法要好很多了! 可以點擊來訪問一下,就知道差別了~
ORB特征匹配(python)
代碼
import cv2 from matplotlib import pyplot as pltqueryImage = cv2.imread('6.jpg', 0) trainingImage = cv2.imread('7.jpg', 0)sift = cv2.xfeatures2d.SIFT_create() kp1, des1 = sift.detectAndCompute(queryImage, None) kp2, des2 = sift.detectAndCompute(trainingImage, None)FLANN_INDEX_KDTREE = 0 indexParams = dict(algorithm=FLANN_INDEX_KDTREE, trees=5) searchParams = dict(checks=50)flann = cv2.FlannBasedMatcher(indexParams, searchParams)matches = flann.knnMatch(des1, des2, k=2)matchesMask = [[0, 0] for i in range(len(matches))]for i, (m, n) in enumerate(matches):if m.distance < 0.7 * n.distance:matchesMask[i] = [1, 0]drawParams = dict(matchColor=(0, 255, 0),singlePointColor=(255, 0, 0),matchesMask=matchesMask,flags=0) resultImage = cv2.drawMatchesKnn(queryImage, kp1, trainingImage, kp2, matches, None, **drawParams) plt.xticks([]), plt.yticks([]) plt.imshow(resultImage), plt.show()總結
以上是生活随笔為你收集整理的FLANN特征匹配(Python)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ORB特征匹配(python)
- 下一篇: 摄像头动态锁定(Python)