一、问题描述
在学习openCV的过程中使用了SIFT的时候,发现书上的代码用不了,报错:
module 'cv2.cv2' has no attribute 'xfeatures2d'
二、问题原因
算法被申请了专利,将opencv版本退到3.4.2即可解决,必须小于等于Python3.7
三、解决方案 ?
遇到这个问题 首先检查自己配置的python版本python --version ?,这里要求是3.7版本的。 如果高版本无法转换到3.7的话建议重新创建一个虚拟环境。 在满足条件后键入pip3 install opencv-contrib-python==3.4.2.17 就能解决了。 conda安装虚拟环境
#这样就创建了一个名字为my_env_name,基于python版本3.7的一个虚拟环境了。
conda create -n my_env_name python=3.7
conda虚拟环境的激活脚本
source activate my_env_name
安装虚拟环境的激活脚本3.4.2.17
#?卸载opencv
pip uninstall opencv-python
#安装3.4.2.16
pip install opencv-python==3.4.2.16 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install opencv-contrib-python==3.4.2.16 -i https://pypi.tuna.tsinghua.edu.cn/simple
|