NameError: имя «xfeatures2d» не определено opencv [3.4.2.17]

Я использую opencv-python-3.4.2.17 и opencv-contrib-python==3.4.2.16. Я пробовал и другие версии. Но я все еще получаю эту ошибку:

просеять = xfeatures2d.SIFT_create()

NameError: имя «xfeatures2d» не определено

Я уже ссылался на эти ссылки:

AttributeError: объект "модуль" не имеет атрибута "xfeatures2d" [Питон/OpenCV 2.4]

Не удалось найти SIFT или xfeatures2d в OpenCV Python

Добавление модулей из opencv_contrib в OpenCV

Но ни один из них не работал для меня.


person VenusAphrodite    schedule 26.03.2019    source источник


Ответы (1)


Если вы используете 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.

person ZF007    schedule 26.03.2019
comment
Я попытался установить opencv-contrib-python версии 3.4.5.20 и opencv-contrib-python==3.4.5.20, как указано в одном из комментариев по этой ссылке: stackoverflow.com/questions/52305578/ но я все еще получаю ту же ошибку. - person VenusAphrodite; 27.03.2019
comment
Разработчики знают об этой проблеме и, возможно, в ближайшем будущем ошибки будут исправлены. На данный момент мое предложение заключается в понижении рейтинга, а не в обновлении, как вы упомянули в своем комментарии. Спросите себя... действительно ли мне нужны бета-функции версии 3.4.5.20 для работы, которую я делаю? Если ответ «нет», нет необходимости тратить больше времени на то, чтобы исправить что-то вне вашего собственного влияния. - person ZF007; 27.03.2019