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]

输出结果:

相关推荐
xixixi7777713 分钟前
零样本学习 (Zero-Shot Learning, ZSL)补充
人工智能·学习·安全·ai·零样本·模型训练·训练
olivesun8841 分钟前
AI的第一篇编码实践-如何用RAG和LLM
人工智能
龙山云仓1 小时前
No153:AI中国故事-对话毕昇——活字印刷与AI知识生成:模块化思想与信息革
大数据·人工智能·机器学习
狒狒热知识1 小时前
2026年软文营销发稿平台优选指南:聚焦178软文网解锁高效传播新路径
大数据·人工智能
十铭忘1 小时前
个人思考3——世界动作模型
人工智能·深度学习·计算机视觉
rgb2gray1 小时前
优多元分层地理探测器模型(OMGD)研究
人工智能·算法·机器学习·回归·gwr
大猫子的技术日记1 小时前
2025 AI Agent 开发实战指南:从上下文工程到多智能体协作
前端·人工智能·bootstrap
Hoking1 小时前
milvus向量数据库介绍与部署(docker-compose)
人工智能·milvus·向量数据库
PPIO派欧云1 小时前
PPIO 上线 MiniMax M2.5:体验架构师级编程与高效 Agent 能力
人工智能·ai·大模型