我正试图将xfeatures2d
模块从opencv_contrib
添加到现有的OpenCV/Python项目中。
我从the repo下载了模块的最新版本,并使用以下附加参数再次构建了OpenCV:
OPENCV_EXTRA_MODULES_PATH=/path/to/opencv_contrib-master/modules
BUILD_opencv_xfeatures2d=ON
生成日志摘录:
-- Installing: /usr/local/lib/python2.7/site-packages/cv2.so
-- Installing: /usr/local/lib/python3.4/site-packages/cv2.so
-- Installing: /usr/local/lib/libopencv_xfeatures2d.3.0.0.dylib
新模块似乎安装正确。我可以在两个Python版本中导入cv2
。然而,这两个模块都无法识别该模块应该添加的新功能。
>>> cv2.SURF()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'SURF'
>>> cv2.xfeatures2d.SURF()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'xfeatures2d'
从pip安装
Python2.x
Python3.x
如果发生烫发错误,请使用sudo。
我也遇到过同样的问题。我正在使用python 2.7.6和OpenCv 3.0以及其他非免费模块。我在可用的模块中确实有xfeatures2d,并且可以导入它,但是它好像xfeatures2d不包含SIFT或SURF。不管我怎么称呼他们,都是同样的错误:
我尝试了建议的不同名称空间,直到最近才注意到这个细节,并成功!
你会注意到它回复说它现在被称为。。。
以及
所以很简单-名称空间不是“cv2.SIFT()”或“cv2.xfeatures2d.SIFT”,而是
请试一试!
另一种可能性(也是我发现的最简单的可能性!)将安装2.4.9版本,其中已经包括SIFT和SURF算法。 那你就得这么做
相关问题 更多 >
编程相关推荐