我从最新的源代码编译了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 来构建它。
从 3.0 开始,SIFT、SURF、BRIEF 和 FREAK 已移至单独的 opencv_contrib 存储库。
您必须下载它,将其添加到您的主要 cmake 设置中(请参阅那里的自述文件),然后重建主要的 opencv 存储库。在“make install”之后,你的 python 应该有一个新的 cv2.pyd,其中再次包含这些内容。然后:
# note the additional namespace:
sift = cv2.xfeatures2d.SIFT_create()