opencv- SURF特征检测

SURF(Speeded-Up Robust Features)

SURF的优点

  • SIFT最大的问题就是速度慢,因此才有SURF

使用SURF的步骤

  • surf = cv2.xfeatures2d.SURF_create()
  • kp, des = surf.detectAndCompute(img, mask)
import cv2 as cv
import numpy as np

# 读取图片
img = cv.imread(r'C:\Users\Administrator\Desktop\chess.png')
# 灰度化
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
# 检测特征点+描述子
# sift = cv.xfeatures2d.SIFT_create()  # 创建SIFT对象
surf = cv.xfeatures2d.SIFT_create()  # 创建SURF对象
# kp, des = sift.detectAndCompute(gray, None)   # 对整个图像进行检测,掩码设为None
kp, des = surf.detectAndCompute(gray, None)   # 对整个图像进行检测,掩码设为None

cv.drawKeypoints(gray, kp, img)  # 绘制特征点

# 显示图像
cv.imshow('img', img)
cv.waitKey(0)

opencv- SURF特征检测_第1张图片

你可能感兴趣的:(python基础,opencv,基础,opencv,计算机视觉,图像处理)