我的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'
我尝试了一些类似的问题,但这些问题对我不起作用,但我没有找到最近的问题,那就是为什么我要打开这个新版本,因为版本不同,这可能是我不起作用的原因>
我还能做什么?
答案 0 :(得分:0)
SIFT和SURF是专有的专利算法。您需要从源代码编译OpenCV和OpenCV-contrib,并启用非免费软件包,以构建python库。我无法正常工作,因此我使用pip查找了一个旧版本(3.4.2),该版本未删除非免费库。我可能不得不回滚python,但不确定。我正在使用python 3.6.8