Método de implementação do algoritmo ORB em opencv

Para implementar o algoritmo ORB no OPenCV, use:

1. Instancie o ORB

orb = cv.xfeatures2d.orb_create(nfeatures)

parâmetro:

nfeatures: o número máximo de pontos de recurso

2. Use orb.detectAndCompute() para detectar pontos-chave e calcular

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

parâmetro:

·cinza: imagem para detecção de ponto-chave, observe que é uma imagem em tons de cinza

retornar:

kp: informações de ponto-chave, incluindo posição, escala, informações de direção

des: descritor de ponto-chave, cada ponto-chave BREVE vetor de recursos, string binária,

3. Desenhe os resultados da detecção do ponto-chave na imagem

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

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

Exemplo:

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

insira a descrição da imagem aqui

Acho que você gosta

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