特征点检测需要在以下版本运行
原图
StarDetector
import cv2 as cv
# 加载图片
original = cv.imread('./table.jpg')
cv.imshow('Original', original)
# 灰度化
gray = cv.cvtColor(original, cv.COLOR_BGR2GRAY)
cv.imshow('Gray', gray)
# 特征点检测
star = cv.xfeatures2d.StarDetector_create()
keypoints = star.detect(gray)
# 绘制特征点
print(len(keypoints), keypoints[0])
mixture = original.copy()
cv.drawKeypoints(
original, keypoints, mixture,
flags=cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv.imshow('Mixture', mixture)
cv.waitKey()
SIFT
import cv2 as cv
# 1.加载图片
original = cv.imread('./table.jpg')
cv.imshow('Original', original)
# 2.灰度化
gray = cv.cvtColor(original, cv.COLOR_BGR2GRAY)
cv.imshow('Gray', gray)
# 3.特征点检测
sift = cv.xfeatures2d.SIFT_create()
keypoints = sift.detect(gray)
# 4.绘制特征点
mixture = original.copy()
cv.drawKeypoints(original, keypoints, mixture,
flags=cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv.imshow('Mixture', mixture)
cv.waitKey()