Opencv ORB
- Orirnted FAST and Rotated BRIEF
- ORB 的优势
- 可以做到实时检测
FAST
可以做到特征点的实时检测
BRIEF
对已经检测到的特征点进行描述,加快了特征点描述符建立的速度,同时也极大的降低了特征匹配的时间
使用ORB的步骤
- orb = cv2.ORB_create()
- kp,des =orb.detectAndCompute(img,mask)
import cv2 as cv
import numpy as np
# 读取图片
img = cv.imread(r'C:\Users\Administrator\Desktop\chess.png')
# 灰度化
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
# 检测特征点+描述子
# sift = cv.xfeatures2d.SIFT_create() # 创建SIFT对象
# surf = cv.xfeatures2d.SIFT_create() # 创建SURF对象
orb = cv.ORB_create() # 创建ORB对象
# kp, des = sift.detectAndCompute(gray, None) # 对整个图像进行检测,掩码设为None
# kp, des = surf.detectAndCompute(gray, None) # 对整个图像进行检测,掩码设为None
kp, des = orb.detectAndCompute(gray, None) # 对整个图像进行检测,掩码设为None
cv.drawKeypoints(gray, kp, img) # 绘制特征点
# 显示图像
cv.imshow('img', img)
cv.waitKey(0)