写一段opencv python的SURF算法实例
时间: 2023-11-14 22:17:44 浏览: 111
好的,以下是一个基于 OpenCV Python 的 SURF 算法实例:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 创建 SURF 对象
surf = cv2.xfeatures2d.SURF_create()
# 检测关键点和描述符
keypoints, descriptors = surf.detectAndCompute(img, None)
# 可视化关键点
img = cv2.drawKeypoints(img, keypoints, None, (0, 0, 255), 4)
# 显示图像
cv2.imshow('SURF', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
上述代码首先读取了一张图像,然后创建了一个 SURF 对象。接着使用 detectAndCompute 方法检测关键点和描述符,并可视化关键点。最后显示图像并等待按下任意键关闭窗口。
需要注意的是,SURF 算法在 OpenCV 3.4 版本后被移除,改为了 xfeatures2d 模块。因此,需要使用 cv2.xfeatures2d.SURF_create() 创建 SURF 对象。另外,如果需要在 OpenCV 4.0 版本之前的版本中使用 SURF 算法,需要安装 opencv-contrib-python 包。
阅读全文