首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用openCV 3.1在python中设置SIFT算法中的关键点(描述符)数目?

如何使用openCV 3.1在python中设置SIFT算法中的关键点(描述符)数目?
EN

Stack Overflow用户
提问于 2016-11-23 21:32:58
回答 1查看 3.2K关注 0票数 1

在opencv 3.0和以前的版本中,SIFT中的关键点数可以通过使用以下代码来计算:

代码语言:javascript
复制
kp, des = cv2.SIFT(150).detectAndCompute(pic, None) 

但是在OpenCV3.1中,SIFT被移动到xfeatures2d,所以这个函数会产生错误

如何在SIFT opencv3.1中设置关键点的数目?

我的代码是:

代码语言:javascript
复制
def gen_sift_features(gray_img):
    sift = cv2.xfeatures2d.SIFT_create()
    kp, desc = sift.detectAndCompute(gray_img, None)
    return kp, desc  
EN

回答 1

Stack Overflow用户

发布于 2019-12-02 15:12:49

您可以将nfeatures参数用作:

代码语言:javascript
复制
sift = cv.xfeatures2d.SIFT_create(nfeatures=150)

这是保留的最佳特性的数量。来文提交人:

代码语言:javascript
复制
help(cv.xfeatures2d.SIFT_create)

SIFT_create(.) SIFT_create([,nOctaveLayers[,contrastThreshold[,edgeThreshold,sigma]]) -> retval 。@param n显示要保留的最佳功能的数量。特征是按分数排列的。 。(在SIFT算法中测量为局部对比)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40774491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档