我正在使用opencv-python-3.4.2.17和opencv-contrib-python == 3.4.2.16。我也试过其他版本。但我仍然收到这个错误:
sift = xfeatures2d.SIFT_create()
NameError:未定义名称“xfeatures2d”
我已经提到过这些链接:
AttributeError: 'module' object has no attribute 'xfeatures2d' [Python/OpenCV 2.4]
Unable to find SIFT or xfeatures2d in OpenCV Python
Adding modules from opencv_contrib to OpenCV
但这些都不适合我。
如果你正在使用anaconda,你应该重新安装ocv:
conda install -c menpo opencv
否则使用conda或pip降级到3.4.1版本。
pip install opencv-python==3.4.1
还要检查sift = cv2.xfeatures2d.SIFT_create() sift create not working even though have contrib instal
在这个问题上也有一些python版本的争论......可能在不久的将来版本的ocv中修复。