在opencv 3.0和以前的版本中,SIFT中的关键点数可以通过使用以下代码来计算:
kp, des = cv2.SIFT(150).detectAndCompute(pic, None) 但是在OpenCV3.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 发布于 2019-12-02 15:12:49
您可以将nfeatures参数用作:
sift = cv.xfeatures2d.SIFT_create(nfeatures=150)这是保留的最佳特性的数量。来文提交人:
help(cv.xfeatures2d.SIFT_create)SIFT_create(.) SIFT_create([,nOctaveLayers[,contrastThreshold[,edgeThreshold,sigma]]) -> retval 。@param n显示要保留的最佳功能的数量。特征是按分数排列的。 。(在SIFT算法中测量为局部对比)
https://stackoverflow.com/questions/40774491
复制相似问题