22_sift关键点提取

import cv2
import numpy as np

img = cv2.imread('D:/pycharm/pycharm-cope/opencv/resource/photo/18_House.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
print(cv2.__version__)

sift = cv2.xfeatures2d.SIFT_create()  # 将 SIFT 算法实例化出来
kp = sift.detect(gray, None) # 把灰度图传进去,得到特征点、关键点

img = cv2.drawKeypoints(gray, kp, img)
cv2.imshow('drawKeypoints', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

kp, des = sift.compute(gray, kp)
print(np.array(kp).shape) # 6827 个关键点
print(des.shape) # 每个关键点有 128 维向量
print(des[0])    # 获得第 0 号关键点的值

 结果展示

 

posted @ 2022-08-03 11:56  tuyin  阅读(49)  评论(0)    收藏  举报