使用SURF检测特征点
1. 更改环境(遇到问题再改)
因为直接运行官方给的代码报错,尝试更改环境
最新版的opencv会报错,故把装了的opencv卸载,然后重装3.4.2,
pip uninstall opencv-contrib-python
pip uninstall opencv-python
conda install opencv=3.4.2
2.SURF关键点检测
然后发现官方给的实例也过期了,正确代码如下:
img = cv2.imread(pic_path, 0)
surf = cv2.xfeatures2d.SURF_create(400)
# 需要调整阈值到合适的大小,示例说的是len(kp)在50以下最好
surf.setHessianThreshold(18000)
kp, des = surf.detectAndCompute(img,None)
img2 = cv2.drawKeypoints(img,kp,None,(255,0,0),4)
plt.imshow(img2)