当前位置:首页 > 编程笔记 > 正文
已解决

用OpenCV(Python)获取图像的SIFT特征

来自网友在路上 175875提问 提问时间:2023-10-06 21:36:16阅读次数: 75

最佳答案 问答题库758位专家为你答疑解惑

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
img=cv.imread("../Lena.png")
img_gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)#创建一个SIFI对象
sift=cv.SIFT_create()#使用SIFT对象在灰度图像img_gray中检测关键点,结果存储在变量kp中
kp=sift.detect(img_gray,None)#计算特征
#des(1100,128),一共有1100个关键点,每个关键点勇(128)长度的特征向量表示
#使用SIFT对象计算img_gray中kp的关键点,
# 计算出的关键点和描述符分别存储在keypoints和des中
kp2,des=sift.compute(img_gray,kp)
print("+++++++++++++++++++?++++++++++++++")
print(np.array(kp).shape) #(1100,)
print(np.array(kp2).shape) #(1100,)
print(des.shape) #(1100,128)
print("+++++++++++++++++++?++++++++++++++")img2=cv.drawKeypoints(img_gray,kp,img)plt.imshow(img2,cmap="gray")
plt.title("drawKeyPoints")
plt.show()

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"用OpenCV(Python)获取图像的SIFT特征":http://eshow365.cn/6-16483-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!