AttributeError: module 'cv2' has no attribute 'SURF_create'
时间: 2023-11-07 16:05:49 浏览: 251
求解报错:AttributeError:module ‘os’ has no attribute ‘exit’
'AttributeError: module 'cv2' has no attribute 'SURF_create''错误提示说明cv2模块中没有'SURF_create'属性。这可能是因为您使用的OpenCV版本不支持SURF算法。SURF算法在OpenCV 3.x版本之前是默认可用的,但在OpenCV 3.x版本之后,SURF算法被移至xfeatures2d模块中。因此,如果您使用的是OpenCV 2.x版本或更早版本,则可以直接使用cv2.SURF_create()。但如果您使用的是OpenCV 3.x版本或更高版本,则需要导入xfeatures2d模块,然后使用cv2.xfeatures2d.SURF_create()。
要解决这个问题,您可以执行以下步骤:
1. 检查您使用的OpenCV版本。您可以在Python终端中使用以下代码来检查版本:
import cv2
print(cv2.__version__)
2. 如果您使用的是OpenCV 3.x版本或更高版本,请在代码中导入xfeatures2d模块,然后使用cv2.xfeatures2d.SURF_create()。例如:
import cv2
from cv2 import xfeatures2d
surf = cv2.xfeatures2d.SURF_create()
3. 如果您使用的是OpenCV 2.x版本或更早版本,则可以直接使用cv2.SURF_create()。
阅读全文