当前位置: 代码迷 >> 综合 >> 成功解决module ‘cv2.cv2‘ has no attribute ‘xfeatures2d‘
  详细解决方案

成功解决module ‘cv2.cv2‘ has no attribute ‘xfeatures2d‘

热度:71   发布时间:2024-02-06 13:37:08.0

遇到这个问题后尝试了网上几个常见答案:
①下载使用了opencv-python 3.4.2.16和opencv-contrib-python3.4.2.16,没能解决,
②把opencv-contrib-python卸了没能解决,
③尝试使用opencv-python 3.4.1.15还不能直接pip安装,
④该低版本库不支持我的高版本python,又更换了jupyter notebook的python版本…终于解决问题,以下是解决步骤

1. 首先卸载当前安装的opencv-python和opencv-contrib-python,直接在cmd中键入

pip uninstall opencv-python
pip uninstall opencv-contrib-python

2. 尝试安装opencv-python 3.4.2.16和opencv-contrib-python3.4.2.16,直接在cmd中键入,部分网友安装后直接解决,但我安装后重启仍未能解决。

 pip install opencv_python==3.4.2.16 pip install opencv-contrib-python==3.4.2.16

3. 如果第2步失败,重复步骤1,卸载后,下载opencv-python 3.4.1.15和opencv-contrib-python 3.4.1.15,由于无法直接pip安装,这里给出下载链接,opencv-contrib-python 3.4.1.15、opencv-python 3.4.1.15,可寻找对应系统和python版本的库,其中只有python2.7、3.4、3.5、3.6的库,安装时需要使用相应版本的python。
4. 在下载完成后,cmd定位到库路径,安装,以win64、py3.6版本的为例

pip install opencv_python-3.4.1.15-cp36-cp36m-win_amd64.whl
pip install opencv_contrib_python-3.4.1.15-cp36-cp36m-win_amd64.whl

在我进行安装时,由于开发使用的jupyter notebook,默认只有一个python3.7版本,因此需要增加jupyter notebook的python版本,无此问题者可直接跳到下一步,如果不会增加jupyter notebook的其他python版本的kernel,可以参考这篇文章进行添加【为jupyter notebook添加其他python版本的kernel】
5. 最终重启notebook,重新运行程序,错误消失。

需要注意的问题:
由于opencv-python-3.4.1.15仅支持python2.7、3.4、3.5、3.6,如果是为此而安装了对应的python版本,注意在安装后,要将python和pip的环境变量上移到旧版本之上,或者直接在新版本的安装路径下运行cmd等,不然运行的pip指令还是在为旧版本安装,依然会报错。

  相关解决方案