-- coding: utf-8 --
‘’’
SURF算法
‘’’
import cv2
import numpy as np
‘’‘1、加载图片’’’
img1 = cv2.imread(’./pic/logo1.jpg’,cv2.IMREAD_GRAYSCALE)
img1 = cv2.resize(img1,dsize=(600,400))
img2 = cv2.imread(’./pic/logo2.jpg’,cv2.IMREAD_GRAYSCALE)
img2 = cv2.resize(img2,dsize=(600,400))
image1 = img1.copy()
image2 = img2.copy()
‘’‘2、提取特征点’’’
#创建一个SURF对象
surf = cv2.xfeatures2d.SURF_create(25000)
#SIFT对象会使用Hessian算法检测关键点,并且对每个关键点周围的区域计算特征向量。该函数返回关键点的信息和描述符
keypoints1,descriptor1 = surf.detectAndCompute(image1,None)
keypoints2,descriptor2 = surf.detectAndCompute(image2,None)
print(‘descriptor1:’,descriptor1.shape,‘descriptor2’,descriptor2.shape)
#在图像上绘制关键点
image1 = cv2.drawKeypoints(image=image1,keypoints = keypoin