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
相关推荐
子燕若水1 小时前
Unreal Engine 5中的AI知识
人工智能
极限实验室2 小时前
Coco AI 实战(一):Coco Server Linux 平台部署
人工智能
杨过过儿2 小时前
【学习笔记】4.1 什么是 LLM
人工智能
巴伦是只猫2 小时前
【机器学习笔记Ⅰ】13 正则化代价函数
人工智能·笔记·机器学习
大千AI助手2 小时前
DTW模版匹配:弹性对齐的时间序列相似度度量算法
人工智能·算法·机器学习·数据挖掘·模版匹配·dtw模版匹配
AI生存日记3 小时前
百度文心大模型 4.5 系列全面开源 英特尔同步支持端侧部署
人工智能·百度·开源·open ai大模型
LCG元3 小时前
自动驾驶感知模块的多模态数据融合:时序同步与空间对齐的框架解析
人工智能·机器学习·自动驾驶
why技术3 小时前
Stack Overflow,轰然倒下!
前端·人工智能·后端
彭祥.3 小时前
Jetson边缘计算主板:Ubuntu 环境配置 CUDA 与 cudNN 推理环境 + OpenCV 与 C++ 进行目标分类
c++·opencv·分类