解决Python-opencv 报 module ‘cv2.cv2‘ has no attribute ‘xfeatures2d‘

在Python-OpenCV高版本中,SIFT算法因专利保护无法使用。为继续使用,建议通过卸载现有版本,然后创建并激活Python 3.5环境,再安装OpenCV 3.4.2.16及其贡献包来规避此问题。详细步骤包括卸载OpenCV、安装低版本以及创建Python虚拟环境。
摘要由CSDN通过智能技术生成

在利用Python-OpenCV进行图像拼接处理时,会使用SIFT算法,该算法是保证关键点方向不变形,但是在OpenCV大于3.4.2.17版本以后,该算法被专利保护了,就不能使用了。针对这个情况,可以采用安装低版本的OpenCV来进行解决。

具体方法如下:

步骤一:卸载当前Python-OpenCV版本

pip3 uninstall opencv-python

步骤二:安装低版本的OpenCV,命令如下

pip3 install opencv-python==3.4.2.16
pip3 install opencv-contrib-python==3.4.2.16

如果你当前的python版本大于3.5在运行上述命令时会报差错,具体的报错信息如下:

No matching distribution found for opencv-python

这是由于在高版本的python中已经不支持低版本的opencv-python了,为此需要将python的版本进行降低,如果你当前的是利用Anaconda作为python环境的,可以用如下命令来创建新的python环境,具体命令如下所示:

conda create --name pythonConda python=3.5      # 创建一个名为 pythonConda,python 版本为 3.7 的虚拟环境

然后,再运行步骤二,问题得以解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翟顺龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值