4

我正在使用 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'

每个版本中出现此错误的原因是什么?

4

2 回答 2

4

对于 2.4.X 版本,我似乎也需要 opencv-devel 和 opencv-debuginfo (rpm/deb) 软件包。

关于 3.1 版本,这些功能已被删除,取而代之的是类似的功能

detector = cv2.TYPE_create()

where TYPEcan beORB或您选择的其他检测器,但不是SURFSIFT并且已移至非自由包。有关更多信息,请查看此来源

于 2017-02-01T01:01:55.790 回答
0

您还可以使用以下代码行:

detector=cv2.xfeatures2d.SURF_create()

您还可以设置 Hessian 阈值。

detector=cv2.xfeatures2d.SURF_create(400)

这里 Hessian 阈值=400

于 2021-05-27T15:19:00.487 回答