Considerando o seguinte trecho:
def get_descritores(img_caminho):
LARGURA = 360
ALTURA = 360
# Ler a imgem
img_teste = cv2.imread(img_caminho, 0)
#Redimensionar
img_redimensionada = cv2.resize(img_teste, (LARGURA, ALTURA), interpolation=cv2.INTER_CUBIC)
# Remover ruídos
img_equalizada = cv2.equalizeHist(img_redimensionada)
img_suavizada = cv2.GaussianBlur(img_equalizada, (9,9), 1)
#Detectar pontos chaves
orb = cv2.ORB_create(nfeatures=512)
pontos_chave = orb.detect(img_suavizada, None)
pontos_chave, descritores = orb.compute(img_suavizada, pontos_chave)
return descritores
"""- ORB - Oriented FAST and Ratated BRIEF
- SURF - Speeded up robust features
- SIFT - Scale-invariant feature transform
"""
descritor = get_descritores(img_caminho)
print("Tipo: ", type(descritor))
print("Formato descritor : ", descritor.shape)
print("\n descritor[0]: ", descritor[0])
img_pontos = cv2.drawKeypoints(img_suavizada, pontos_chave, outImage = np.array([]), flags=0)
cv2_imshow(img_pontos)
A variável "pontos_chaves" não está mais disponível , anão ser se na função "get_descritores" retornemos "pontos_chaves". Certo? ou estou esquecendo algo? Porque caso seja isso mesmo, a função drawKeypoints não vai rodar e é preciso mudar lá no curso/github.