AttributeError: 'function' object has no attribute 'SIFT_create'怎么改
时间: 2023-09-16 22:13:04 浏览: 50
这个错误通常是因为你使用的是OpenCV 4.x版本,而在该版本中,`SIFT_create`已经被移除了。你可以尝试使用以下代码来创建SIFT对象:
```
sift = cv2.xfeatures2d.SIFT_create()
```
如果你仍然收到类似的错误,请确保你已经正确安装了OpenCV-contrib模块。你可以使用以下命令安装:
```
pip install opencv-contrib-python
```
相关问题
AttributeError: 'module' object has no attribute 'SIFT_create'
这个错误通常是因为OpenCV版本问题导致的。在OpenCV 4.5.1及更高版本中,`SIFT_create`已被弃用。如果你在使用较新版本的OpenCV,请使用以下代码替换`SIFT_create`:
```
sift = cv2.SIFT_create()
```
替换为:
```
sift = cv2.SIFT_create()
```
如果你使用的是较旧的OpenCV版本,请检查是否正确安装了OpenCV并且导入了正确的模块。
在OpenCV3.2.0下报错AttributeError: 'module' object has no attribute 'SIFT_create'
在OpenCV3.0.0版本之后,SIFT和SURF算法已经被包含在了opencv-contrib-python模块中,因此需要先安装该模块,再导入SIFT算法。可以使用以下命令进行安装:
```
pip install opencv-contrib-python
```
然后在代码中导入SIFT算法:
```
import cv2
sift = cv2.xfeatures2d.SIFT_create()
```
这样应该就可以成功运行SIFT算法了。