AttributeError: 'function' object has no attribute 'SIFT_create'怎么改
时间: 2023-09-16 20:13:04 浏览: 105
这个错误通常是因为你使用的是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版本不支持SIFT算法。在OpenCV 4.4.0及之后的版本中,SIFT算法已被移除,因为它使用专利算法。如果你想使用SIFT算法,你可以使用一个旧版本的OpenCV,例如OpenCV 4.3.0。或者,你可以使用其他的特征提取算法,如SURF、ORB、AKAZE等。
在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算法了。
阅读全文