ORB算法在opencv中实现方法

在OPenCV中实现ORB算法,使用的是:

1.实例化ORB

bash 复制代码
orb = cv.xfeatures2d.orb_create(nfeatures)

参数:

·nfeatures: 特征点的最大数量

2.利用orb.detectAndCompute()检测关键点并计算

bash 复制代码
kp,des = orb.detectAndCompute(gray,None)

参数:

·gray: 进行关键点检测的图像,注意是灰度图像

返回:

·kp: 关键点信息,包括位置,尺度,方向信息

·des: 关键点描述符,每个关键点BRIEF特征向量,二进制字符串,

3.将关键点检测结果绘制在图像上

bash 复制代码
cv.drawKeypoints(image, keypoints, outputimage, color, flags)

cv.drawKeypoints(image, keypoints, outputimage, color, flags)

示例:

bash 复制代码
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
# 1 图像读取
img = cv.imread('./image/tv.jpg')

# 2 ORB角点检测
# 2.1 实例化ORB对象
orb = cv.ORB_create(nfeatures=500)
# 2.2 检测关键点,并计算特征描述符
kp,des = orb.detectAndCompute(img,None)

print(des.shape)

# 3 将关键点绘制在图像上
img2 = cv.drawKeypoints(img, kp, None, color=(0,0,255), flags=0)

# 4. 绘制图像
plt.figure(figsize=(10,8),dpi=100)
plt.imshow(img2[:,:,::-1])
plt.xticks([]), plt.yticks([])
plt.show()
BRIEF算法04
相关推荐
风娜43 分钟前
IT 疑难杂症诊疗室:从现象到根因的系统排查方法论
人工智能·github
碧海银沙音频科技研究院44 分钟前
炬芯ATS3089X手表的HFP通话不自动路由到设备BT的问题解决
网络·人工智能·嵌入式硬件·算法
承渊政道1 小时前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(开源大模型ChatGLM高级定制化应用实战)
人工智能·pytorch·python·llm·模型微调·glm
howdoyoudo2026061 小时前
AI审计手记 #28:从“暂停训练”到“切断联网”——AI安全控制手段的极限升级
大数据·人工智能·安全·ai·语言模型
colman wang1 小时前
人工智能课程(配套AIMA(Artificial Intelligence: A Modern Approach))
人工智能
LinXunFeng5 小时前
Draw Things 换装 LoRA 实战:用 Silo 秒装,同一提示词对比出图
人工智能·开源·aigc
xiaohaiAIgeo5 小时前
【2026年】通风柜自动门安全吗?联锁逻辑与防夹设计
人工智能·安全·科普知识
像风一样自由20205 小时前
52.Docker部署大模型应用从本地开发到服务化运行
运维·人工智能·docker·容器·大模型·智能体
牛战士coding6 小时前
AI Agent 如何接入真实业务系统?订单助手三层架构完整拆解
人工智能·架构