OpenCV | sift函数使用——得到特征点

scale invariant feature transform (sift)

图像尺度空间

在一定的范围内,无论物体是大还是小,人眼都可以分辨出来,然而计算机要有相同的能力却很难,所以要让机器能够对物体在不同尺度下有一个统一的认知, 就需要考虑图像在不同的尺度下都存在的特点

lena.jpg

python 复制代码
import cv2
import numpy as np

img = cv2.imread('lena.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

另外,需要查一下自己OpenCV的版本号,如果过低或者最新的都是可以用相关函数的。

python 复制代码
cv2.__version__

这里可以输出自己的版本号

得到特征点

python 复制代码
sift = cv2.xfeatures2d.SIFT_create()
kp = sift.detect(gray,None)
python 复制代码
img = cv2.drawKeypoints(gray,kp,img)
cv2.imshow('drawKeypoints',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果:

计算特征

python 复制代码
kp,des = sift.compute(gray,kp)
python 复制代码
print (np.array(kp).shape)

输出结果:

复制代码
(319,)
python 复制代码
des.shape

输出结果:

python 复制代码
(319, 128)
python 复制代码
des[0]

输出结果:

相关推荐
唠点键盘之外的38 分钟前
15 微调 vs RAG:到底怎么选
人工智能·机器学习·面试·aigc
具身AGI1 小时前
人机协同预训练:三条路线,一条拉开差距
人工智能
东风破_1 小时前
LangSmith:从链路追踪到 RAG 自动化评估
人工智能
东方芷兰2 小时前
Agent 技术摘要 04 —— AI4S、VLM、VLA、VLN、WM、AI Infra
人工智能
catchadmin2 小时前
用 Jev 与 Laravel AI SDK 检测垃圾邮件和自动回复
数据库·人工智能·laravel
一 铭2 小时前
Pi实战 05:本地模型 · MCP · 安全沙箱篇
人工智能·ai·agent·harness
198******126342 小时前
2026企业AI办公工具选型指南:从评估框架到场景适配
大数据·运维·人工智能
OxYGC2 小时前
[AI工程]Jev 决策模型第二篇:三原语、一次多问与置信度路由,从 Playground 到能上线的代码
人工智能
楚来客2 小时前
AI基础概念之十四:时空Transformer架构
人工智能·深度学习·transformer
u1301302 小时前
AI 日报(2026年10月2日)
人工智能