gpt4 book ai didi

python - OpenCV Python 不能使用 SIFT

转载 作者:行者123 更新时间:2023-12-02 17:10:59 25 4
gpt4 key购买 nike

我正在尝试一个简单的事情,比如

sift = cv2.SIFT()

并得到这个错误

赛跑(最近一次通话最后):
文件“C:\image processing\featurematching2.py”,第 9 行,在
筛选 = cv2.SIFT()
AttributeError:“模块”对象没有属性“SIFT”




我不明白,因为安装了 cv2。

cv2.version 是
'3.1.0'

我的系统是windows8.1 64bit
我的 python 程序 2.7.12 和 opencv 3.1.0

也许有人有同样的问题,可以帮助我

多谢

最佳答案

在 OpenCV 3 中,为了区分专有和非专有功能(也是免版税和非免费),进行了更严格的区分。 SIFT 和 SURF 都是专有算法(不是免版税),因此不随 OpenCV 3 的默认安装一起分发(您可以在发行版的存储库中找到它,除非它在分发专有东西方面没有问题)。

为了访问这些专有特性,您需要通过编译 从源代码构建它们。贡献模块。我从来没有偶然发现过这个问题,因为我总是从源代码构建 OpenCV(至少从 3.0 版开始),所以我总是选择我认为我将使用哪些特性并相应地构建这些特性。

提供详细说明here . contrib模块就是你所需要的。就我个人而言,我建议至少编译一次 OpenCV,以便您可以更好地了解在哪里。

请注意以下内容 - 如前所述,SIFT 是专有的,不是免版税的。见 this discussion更多细节。基本上,如果你在家里或学校做一些有趣的项目,你就可以开始了。但是,当您开始将这些作为公司项目的一部分或一般用于商业用途时,您必须兑现。

最后但并非最不重要的 opencv_contrib模块还包含不够稳定的功能,无法包含在主包中。

关于python - OpenCV Python 不能使用 SIFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41514202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com