Método de implementación del algoritmo ORB en opencv

Para implementar el algoritmo ORB en OPenCV, use:

1. Crear una instancia del ORB

orb = cv.xfeatures2d.orb_create(nfeatures)

parámetro:

nfeatures: el número máximo de puntos de características

2. Use orb.detectAndCompute() para detectar puntos clave y calcular

kp,des = orb.detectAndCompute(gray,None)

parámetro:

·gris: Imagen para la detección de puntos clave, tenga en cuenta que es una imagen en escala de grises

devolver:

kp: información de puntos clave, incluida la posición, la escala y la información de dirección

des: descriptor de punto clave, vector de característica BREVE de cada punto clave, cadena binaria,

3. Dibuje los resultados de detección de puntos clave en la imagen

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

cv.drawKeypoints(imagen, puntos clave, imagen de salida, color, banderas)

Ejemplo:

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

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/cz_00001/article/details/132042355
Recomendado
Clasificación