如何使用openCV 3.1在python的SIFT算法中设置关键点(描述符)的数量?
在opencv 3.0和以前的版本中,可以使用以下代码限制SIFT中的关键点数量:如何使用openCV 3.1在python的SIFT算法中设置关键点(描述符)的数量?,python,sift,descriptor,opencv3.1,Python,Sift,Descriptor,Opencv3.1,在opencv 3.0和以前的版本中,可以使用以下代码限制SIFT中的关键点数量: kp, des = cv2.SIFT(150).detectAndCompute(pic, None) 但与opencv 3.1一样,SIFT被移动到xfeatures2d,因此该函数给出了错误 如何在SIFT opencv3.1中设置关键点的数量 我的代码是: def gen_sift_features(gray_img): sift = cv2.xfeatures2d.SIFT_create()
kp, des = cv2.SIFT(150).detectAndCompute(pic, None)
但与opencv 3.1一样,SIFT被移动到xfeatures2d,因此该函数给出了错误如何在SIFT opencv3.1中设置关键点的数量 我的代码是:
def gen_sift_features(gray_img):
sift = cv2.xfeatures2d.SIFT_create()
kp, desc = sift.detectAndCompute(gray_img, None)
return kp, desc
可以将nfeatures参数用作:
sift = cv.xfeatures2d.SIFT_create(nfeatures=150)
这是要保留的最佳功能的数量。资料来源:
help(cv.xfeatures2d.SIFT_create)
筛选创建(…)
筛选创建([,nfeatures[,nOctaveLayers[,ContractThreshold[,edgeThreshold[,sigma*.*.*.]])->retval
@param nfeatures可保留的最佳功能的数量。这些特征是根据它们的分数排列的
。(以SIFT算法作为局部对比度测量)
可以将nfeatures参数用作:
sift = cv.xfeatures2d.SIFT_create(nfeatures=150)
这是要保留的最佳功能的数量。资料来源:
help(cv.xfeatures2d.SIFT_create)
筛选创建(…)
筛选创建([,nfeatures[,nOctaveLayers[,ContractThreshold[,edgeThreshold[,sigma*.*.*.]])->retval
@param nfeatures可保留的最佳功能的数量。这些特征是根据它们的分数排列的
。(以SIFT算法作为局部对比度测量)
detectAndCompute有一个参数用于此,nFeature,您可以设置此参数detectAndCompute有一个参数用于此,nFeature,您可以设置此参数