首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >即使安装了contrib,sift = cv2.xfeatures2d.SIFT_create()也无法工作

即使安装了contrib,sift = cv2.xfeatures2d.SIFT_create()也无法工作
EN

Stack Overflow用户
提问于 2018-09-13 09:52:10
回答 2查看 104.5K关注 0票数 70

所以我试着使用:

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.0opencv(3.4.3),我只是在使用idle。这是在我尝试安装TensorFlow之后发生的,我已经安装了opencv-contrib-python,但是仍然收到同样的错误。提前感谢您,如果我没有包含足够的信息,我道歉

EN

回答 2

Stack Overflow用户

发布于 2021-08-11 06:19:23

自从SIFT专利到期后,SIFT已经移到了主回购上。要在Opencv中使用SIFT,现在应该使用cv2.SIFT_create()而不是cv2.xfeatures2d.SIFT_create()。(xfeatures2d只存在于contrib包中,但sift现在是主包的一部分。)

下面的链接会很有帮助。https://github.com/opencv/opencv/issues/16736

票数 8
EN

Stack Overflow用户

发布于 2018-09-13 16:24:41

这可能是由于opencv版本和opencv-contrib版本不匹配造成的。如果是使用CMake从源安装opencv,并且源版本与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)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52305578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档