AttributeError:'module'对象没有属性'xfeatures2d'?

时间:2018-01-18 18:50:37

标签: python opencv

当我这样做时,我想在open cv中使用sift函数:

cv2.xfeatures2d

我明白了:

AttributeError: 'module' object has no attribute 'xfeatures2d'

即使cv2.SIFT()也不起作用。然而,这似乎有效:

cv2.orb_create()

我在open cv 3.3.0上,使用opencv-contrib-python。我尝试使用opencv-python,但这也给了我同样的错误。

我尝试使用pip卸载和重新安装。我在osx上。

1 个答案:

答案 0 :(得分:3)

  

首先安装opencv-pythonopencv-contrib-python

对于python2:

$(sudo) python2 -m pip install opencv-python opencv-contrib-python

对于python3:

$(sudo) python3 -m pip install opencv-python opencv-contrib-python
  

然后再试一次。对于OpenCV 3.x,使用cv2.xfeatures2d.SIFT_create()创建:

$ python
>>> import cv2 
>>> cv2.__version__
'3.3.0-dev'
>>> sift = cv2.xfeatures2d.SIFT_create()
>>> sift
<xfeatures2d_SIFT 0x7f79ca721d10>