Python+OpenCV 3 - 无法使用 SIFT

问题描述 投票:0回答:1

我从最新的源代码编译了OpenCV 3 & opencv_contrib。我将其安装到 Python 2.7 的 site-packages 文件夹中。我可以遵循 http://docs.opencv.org/trunk/doc/py_tutorials/py_feature2d/py_matcher/py_matcher.html 上的所有教程,除了涉及 SIFT 的教程。

这是我得到的错误:

Traceback (most recent call last):
  File "C:\Projects\icu\ex01.py", line 9, in <module>
    sift = cv2.SIFT()
AttributeError: 'module' object has no attribute 'SIFT'

请帮忙。我找啊找啊找啊,没有找到任何与OpenCV3相关的东西。

哦,我使用 Visual Studio 2013 来构建它。

python opencv sift
1个回答
12
投票

从 3.0 开始,SIFT、SURF、BRIEF 和 FREAK 已移至单独的 opencv_contrib 存储库

您必须下载它,将其添加到您的主要 cmake 设置中(请参阅那里的自述文件),然后重建主要的 opencv 存储库。在“make install”之后,你的 python 应该有一个新的 cv2.pyd,其中再次包含这些内容。然后:

# note the additional namespace:
sift = cv2.xfeatures2d.SIFT_create() 
© www.soinside.com 2019 - 2024. All rights reserved.