我正在使用OpenCV 2.4.X和OpenCV 3.1的python绑定,但使用以下简单的两行
代码import cv2
detector = cv2.FeatureDetector_create("SURF")
我得到以下输出:
Traceback (most recent call last):
File "version_test.py", line 3, in <module>
detector = cv2.FeatureDetector_create("SURF")
AttributeError: 'module' object has no attribute 'FeatureDetector_create'
每个版本中出现此错误的原因是什么?
对于2.4.X版本,我似乎也需要opencv-devel和opencv-debuginfo(rpm/deb)软件包。
关于 3.1 版本,这些功能已被删除,取而代之的是以下功能
detector = cv2.TYPE_create()
其中TYPE
可以是您选择的ORB
或其他检测器,但不能SURF
和SIFT
已移至非自由软件包。有关更多信息,请查看此来源。
您还可以使用以下代码行:
detector=cv2.xfeatures2d.SURF_create()
您还可以设置黑森阈值。
detector=cv2.xfeatures2d.SURF_create(400)
这里黑森阈值=400