模块'cv2.cv2'没有属性'xfeatures2d',模块'cv2.cv2'没有属性'SIFT'

时间:2020-02-20 15:18:58

标签: python python-3.x opencv

我的python版本= 3.7.4 cv2版本= 4.2.0

这些是我在python和open cv上的版本,我试图使用SIFT函数,并且得到了著名的错误模块cv2.cv2' has no attribute 'SIFT',所以我尝试了pip install opencv-contrib-python以及python -m pip install --user opencv-contrib-python,我将detector=cv2.SIFT()更改为detector=cv2.xfeatures2d.SIFT_create(),错误刚刚更改为AttributeError:模块'cv2.cv2'没有属性'xfeatures2d'

我尝试了一些类似的问题,但这些问题对我不起作用,但我没有找到最近的问题,那就是为什么我要打开这个新版本,因为版本不同,这可能是我不起作用的原因

我还能做什么?

1 个答案:

答案 0 :(得分:0)

SIFT和SURF是专有的专利算法。您需要从源代码编译OpenCV和OpenCV-contrib,并启用非免费软件包,以构建python库。我无法正常工作,因此我使用pip查找了一个旧版本(3.4.2),该版本未删除非免费库。我可能不得不回滚python,但不确定。我正在使用python 3.6.8