pycharm显示AttributeError: module 'cv2.xfeatures2d' has no attribute 'SIFT_create'怎么解决
时间: 2023-11-24 22:49:51 浏览: 149
【Pycharm(Win)+Python2(Linux)开发环境搭建】
这个错误是由于OpenCV的版本问题导致的。在OpenCV 3.4.2及以上版本中,SIFT算法已经被移除,因此在使用SIFT算法时会出现这个错误。解决方法有两种:
1.使用OpenCV的其他版本,例如3.4.1及以下版本,这些版本中仍然包含SIFT算法。
2.使用OpenCV的其他特征提取算法,例如SURF、ORB等。
下面是使用ORB算法的示例代码:
```python
import cv2
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 初始化ORB检测器
orb = cv2.ORB_create()
# 检测关键点和描述符
keypoints, descriptors = orb.detectAndCompute(gray, None)
# 在图像上绘制关键点
img_with_keypoints = cv2.drawKeypoints(img, keypoints, None)
cv2.imshow('Image with Keypoints', img_with_keypoints)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文