Я использую opencv-python-3.4.2.17 и opencv-contrib-python == 3.4.2.16. Я пробовал и другие версии. Но я все еще получаю эту ошибку:
sift = xfeatures2d.SIFT_create ()
NameError: имя 'xfeatures2d' не определено
Я уже ссылался на эти ссылки:
AttributeError: у объекта 'module' нет атрибута 'xfeatures2d' [Python / OpenCV 2.4]
Невозможно найти SIFT или xfeatures2d в OpenCV Python
Добавление модулей из opencv_contrib в OpenCV
Но ничего из этого не помогло мне.
Если вы используете anaconda, вам следует переустановить ocv с помощью:
conda install -c menpo opencv
В противном случае перейдите на версию 3.4.1, используя conda или pip.
pip install opencv-python==3.4.1
Также проверьте sift = cv2.xfeatures2d.SIFT_create () sift create не работает, даже если у вас установлен contrib *
Есть также некоторые дебаты по версии Python, продолжающиесяэта проблема .. вероятно исправлена в ближайших будущих выпусках ocv.