在opencv 2.4 for python中缺少冲浪

Cas*_*law 8 python opencv surf

我试图实例化一个对象SURF使用OpenCV的Python作为描述在这里,但出现这种情况:

>>> import cv2
>>> cv2.__version__
'2.4.0'
>>> cv2.SURF()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'SURF'
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会发生这种情况,或者如果从OpenCV的Python版本中缺少SURF?

And*_*aev 9

这是一个回归,应该在下一个库更新中修复.

但SURF并不是真的缺席.您仍然可以通过通用包装器访问它:

surf_detector = cv2.FeatureDetector_create("SURF")
surf_descriptor = cv2.DescriptorExtractor_create("SURF")
Run Code Online (Sandbox Code Playgroud)

更新: cv2.SURF()在OpenCV 2.4.1中恢复

  • 有人能告诉我们两个版本之间有什么区别(cv2.FeatureDetector_create("SURF")+ cv2.DescriptorExtractor_create("SURF")与cv2.SURF())期望第二个版本更紧凑吗? (2认同)
  • 是否真的在2.4.1中修复了?我正在尝试使用2.4.2并且看到同样的错误. (2认同)