opencv-contrib-Python编译module ‘cv2.cv2’ has no attribute ‘xfeatures2d’

引言
解决步骤一
解决步骤二

引言

opencv-contrib-Python编译出现错误:
sift = cv.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’

即是sift = cv.xfeatures2d.SIFT_create()函数无法使用,也是opencv-contrib-python无法使用。解决方法为降低opencv版本,因为当初安装时是默认版本安装的,版本比较高,但是也不清楚为什么版本高了不支持,反正TensorFlow里面对版本对应要求比较严格。
解决步骤一

打开Anaconda卸载opencv。

 
在这里插入图片描述
解决步骤二

重装opencv-python、opencv-contrib-python。指定版本安装。

 
在这里插入图片描述

最后打开Pycharm运行sift算法测试:

————————————————
版权声明:本文为CSDN博主「古路」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fb_941219/article/details/83502966