在OpenCV3.2.0下报错AttributeError: 'module' object has no attribute 'SIFT_create'
时间: 2023-09-27 19:05:56 浏览: 127
在OpenCV3.0.0版本之后,SIFT和SURF算法已经被包含在了opencv-contrib-python模块中,因此需要先安装该模块,再导入SIFT算法。可以使用以下命令进行安装:
```
pip install opencv-contrib-python
```
然后在代码中导入SIFT算法:
```
import cv2
sift = cv2.xfeatures2d.SIFT_create()
```
这样应该就可以成功运行SIFT算法了。
相关问题
pycharm报错AttributeError: module 'legacy' has no attribute 'MultiTracker_create'
这个错误可能是由于OpenCV版本不同导致的。这个问题通常出现在使用OpenCV 4.x版本的情况下,而使用了一个旧的代码版本。
解决这个问题的方法是卸载OpenCV 4.x版本,然后安装OpenCV 3.x版本。你可以使用以下命令在终端中卸载OpenCV 4.x版本:
```
pip uninstall opencv-python
```
然后,你可以使用以下命令安装OpenCV 3.x版本:
```
pip install opencv-python==3.4.6.27
```
这将安装OpenCV 3.4.6.27版本,它应该支持MultiTracker_create()函数。如果你使用的是Anaconda,则可以使用以下命令安装OpenCV 3.x版本:
```
conda install -c conda-forge opencv=3.4.6
```
然后重新启动pycharm应该就可以解决这个问题了。
AttributeError: 'module' object has no attribute 'SIFT_create'
这个错误通常是因为你正在使用的OpenCV版本不支持SIFT算法。在OpenCV 4.4.0及之后的版本中,SIFT算法已被移除,因为它使用专利算法。如果你想使用SIFT算法,你可以使用一个旧版本的OpenCV,例如OpenCV 4.3.0。或者,你可以使用其他的特征提取算法,如SURF、ORB、AKAZE等。
阅读全文