目录
1,SIFT算法原理
1.1,基本流程
1.1.1 尺度空间极值检测
1.1.2 关键点定位
1.1.3 关键点方向确定
1.1.4 关键点描述
1.1.5 总结
1.2 SURF原理
2 代码实现
3 结果展示
4,你肯定会遇到报错
cv2.error: OpenCV(3.4.8) C:\projects\opencv-python\opencv_contrib\modules\xfeatures2d\src\sift.cp
1,SIFT算法原理
1.1,基本流程
1.1.1 尺度空间极值检测
1.1.2 关键点定位
1.1.3 关键点方向确定
、
1.1.4 关键点描述
1.1.5 总结
1.2 SURF原理
2 代码实现
import cv2 as cv
import matplotlib.pyplot as plt
import numpy as np
from pylab import mplmpl.rcParams['font.sans-serif'] = ['SimHei']#读取图像
img = cv.imread('aa.jpg')
gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)#2 sift关键点检测
#2.1 实例化sift对象
sift = cv.xfeatures2d.SIFT_create()#2.2 关键点检测 : kp关键点信息包括 方向、尺度、位置信息,des是关键点的描述符
kp , des = sift.detectAndCompute(gray , None)#2.3 在图像上绘制关键点的检测结果
cv.drawKeypoints(img , kp , img , flags=cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)#图像的显示
plt.figure(figsize=(5,4),dpi=100)
plt.imshow(img[:,:,:-1]),plt.title("sift 关键点检测")
plt.xticks([]),plt.yticks([])
plt.show()
3 结果展示
4,你肯定会遇到报错
cv2.error: OpenCV(3.4.8) C:\projects\opencv-python\opencv_contrib\modules\xfeatures2d\src\sift.cp
解决办法(点击):
解决办法地址