sift = cv2.xfeatures2d.SIFT_create () не работает, даже если установлен contrib - PullRequest
0 голосов
/ 13 сентября 2018

Итак, я пытаюсь использовать:

sift = cv2.xfeatures2d.SIFT_create()

и у меня появляется эта ошибка:

cv2.error: OpenCV(3.4.3) C:\projects\opencv-python\opencv_contrib\modules\xfeatures2d\src\sift.cpp:1207: error: (-213:The function/feature is not implemented) 
This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake 
option and rebuild the library in function 'cv::xfeatures2d::SIFT::create'

Я использую Python 3.5.0 и opencv(3.4.3), и япросто с помощью холостого хода.Это произошло после того, как я попытался установить TensorFlow, и я попытался осмотреться и установил opencv-contrib-python, но я все еще получаю ту же ошибку.Заранее благодарю, и я прошу прощения, если я не включил достаточно информации

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

У меня была такая же проблема.Я изменяю другую версию opencv-python и opencv-contrib-python и решаю эту проблему.Вот историческая версия о opencv-python.

https://pypi.org/project/opencv-python/#history, и я использую следующий код:

pip install opencv-python == 3.4.2.16

pip install opencv-contrib-python ==3.4.2.16

Редактировать

Для пользователя Anaconda просто вместо pip

conda install -c menpo opencv

это установит cv2 3.4.1 и все необходимое для запуска SIFT

удачи ~

0 голосов
/ 13 сентября 2018

Это может быть связано с несовпадением версий opencv и версии opencv-contrib.Если вы установили opencv из исходного кода с помощью CMake, и исходная версия отличается от версии opencv-contrib-python, удалите текущий opencv-contrib-python и выполните pip install opencv-contrib-python==<version of the source>.X или другую совместимую версию.У меня запущена одна версия установки: opencv source (3.2), opencv-python (3.4.0.14) и opencv-contrib-python (3.4.2.17)

...