Python 不能使用opencv中的SIFT算法

Python 不能使用opencv中的SIFT算法,python,opencv,sift,Python,Opencv,Sift,我正在尝试使用opencv实现图像拼接。 具体来说,我将遵循教程 我的问题是sift算法不可访问。 在网上浏览之后,我发现该算法获得了专利或其他什么,现在它不再是专利了,它在repo中被移动了,现在我似乎找不到任何有用的教程来安装使用该算法的正确工具 有人能解释一下应该安装什么,这样这条线就不会出错了吗? (第54行) descriptor=cv2.xfeature2d.SIFT\u create() 注意:在windows上使用opencv contrib 4尝试了opencv 4。 注2:

我正在尝试使用opencv实现图像拼接。 具体来说,我将遵循教程

我的问题是sift算法不可访问。 在网上浏览之后,我发现该算法获得了专利或其他什么,现在它不再是专利了,它在repo中被移动了,现在我似乎找不到任何有用的教程来安装使用该算法的正确工具

有人能解释一下应该安装什么,这样这条线就不会出错了吗? (第54行)

descriptor=cv2.xfeature2d.SIFT\u create()
注意:在windows上使用opencv contrib 4尝试了opencv 4。

注2:关于堆栈溢出的其他答案未根据上述更改进行更新。

sift算法现在自2020年3月起免费,它已从OpenCV Contrib(非免费)转移到OpenCV的主存储库(免费)

来源:


语法从
descriptor=cv2.xfeatures2d.SIFT\u create()
更改为
descriptor=cv.SIFT\u create()

这是否回答了您的问题?不,在PipOther上找不到该版本。请再试一次-最近:这有用吗?