这是由于SIFT已经申请专利,在后面的opencv版本里面已经不能再调用这个函数。
解决办法
卸载原来的opencv版本,在cmd里面输入如下代码:
pip uninstall opencv-python
显示成这样,输入y ,然后回车

最后显示卸载成功:
Successfully uninstalled opencv-python-3.4.0.12
下载3.4.2版本
pip install opencv-python==3.4.2.16 -i "https://pypi.doubanio.com/simple/"
pip install opencv-contrib-python==3.4.2.16 -i "https://pypi.doubanio.com/simple/"
显示下载成功:
这样在Pycharm里面运行测试程序
import cv2
import numpy as np
img = cv2.imread('1.jpg')
gray = cv2.

由于SIFT专利问题,opencv的某些版本移除了xfeatures2d属性。解决方法是卸载现有opencv版本,通过CMD以管理员身份运行卸载命令,然后安装opencv的3.4.2版本。安装完成后,在PyCharm中测试程序确认问题已解决。
最低0.47元/天 解锁文章
8903





