用SIFT对图片提取特征,利用BF方法匹配图像的相似度并可视化
import cv2
from matplotlib import pyplot as plt
import numpy as np
import os
import math
def getMatchNum(matches,ratio):
'''返回特征点匹配数量和匹配掩码'''
matchesMask=[[0,0] for i in range(len(matches))]
matchNum=0
for i,(m,n) in enumerate(matches):
if m.distance<ratio*n.distance: #将距离比率小于ratio的匹配点删选出来
matchesMask[i]=[1,0]
matchNum+=1
return (matchNum,matchesMask)
path='D:/'
queryPath=path+