python opencv的orb特征检测(Oriented FAST and Rotated BRIEF)

官方文档:https://docs.opencv.org/4.10.0/d1/d89/tutorial_py_orb.html

SIFT/SURF/ORB对比

https://www.bilibili.com/video/BV1Yw411S7hH?spm_id_from=333.788.player.switch&vd_source=26bb43d70f463acac2b0cce092be2eaa&p=80

ORB代码

python 复制代码
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt

gray = cv.imread('12.png', cv.IMREAD_GRAYSCALE)
# https://docs.opencv.org/4.10.0/d1/d89/tutorial_py_orb.html
# Initiate ORB detector
orb = cv.ORB.create()

# find the keypoints with ORB
kp = orb.detect(gray, None)

# compute the descriptors with ORB
kp, des = orb.compute(gray, kp)
print(type(kp))
print(des.shape)
print(len(kp))
print(len(des))
print(des[0])
# draw only keypoints location,not size and orientation
img2 = cv.drawKeypoints(gray, kp, None, flags=cv.DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS)
cv.imshow('orb', img2)
cv.waitKey(0)
cv.destroyAllWindows()
python 复制代码
<class 'tuple'>
(79, 32)
79
79
[ 96  32  25  96   4  77  65   0 104  32  32   8 151  19   0  16 128 148
  72   8   8  96 208   0 193 136   1  48  64   0  71  34]
相关推荐
嗝o゚几秒前
Flutter与开源鸿蒙:一场“应用定义权”的静默战争,与开发者的“范式跃迁”机会
python·flutter
liu****1 分钟前
一.脚手架介绍以及部分工具使用
开发语言·数据结构·c++·手脚架开发
一只会奔跑的小橙子3 分钟前
pytest安装对应的库的方法
python
资深web全栈开发10 分钟前
深入理解 Google Wire:Go 语言的编译时依赖注入框架
开发语言·后端·golang
ohoy15 分钟前
EasyPoi 数据脱敏
开发语言·python·excel
Hello World呀17 分钟前
Java实现手机号和身份证号脱敏工具类
java·开发语言
BoBoZz1917 分钟前
MarchingCubes 网格数据体素化并提取等值面
python·vtk·图形渲染·图形处理
曹牧19 分钟前
Java:serialVersionUID
java·开发语言
ekprada35 分钟前
DAY36 复习日
开发语言·python·机器学习
qq_2562470538 分钟前
Rust 模块化单体架构:告别全局 Migrations,实现真正的模块自治
开发语言·架构·rust