Python + OpenCV 3 - 无法使用SIFT

时间:2014-11-11 00:55:25

标签: python opencv sift

我编译了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'

请帮忙。我搜索过&amp;搜索和搜索并找不到与Opencv3相关的任何内容。

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

1 个答案:

答案 0 :(得分:12)

从3.0开始,SIFT,SURF,Brief和FREAK被转移到单独的opencv_contrib repo

您必须下载它,将其添加到主cmake设置(请参阅那里的README),然后重建主opencv仓库。 'make install'之后你的python应该有一个新的cv2.pyd,它再次包含那些。然后:

# note the additional namespace:
sift = cv2.xfeatures2d.SIFT_create()