Oiii Alex, como você está?
Peço desculpas pela demora em obter um retorno.
Como está utilizando a mesma imagem e os mesmos parâmetros, o valor do shape
também deveria retornar 512.
Peço que confira se sua função está como na forma abaixo:
def get_descritores(img_caminho):
LARGURA = 360
ALTURA = 360
# Ler a imagem
img_teste = cv2.imread(img_caminho, 0)
# Redimensionar a imagem
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 os 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
Caso a inconsistência de valores continue, peço que compartilhe o link do seu notebook para que eu possa avaliar o código. Desse modo consigo te auxiliar de forma mais direcionada e entender o motivo da inconsistência.
Grande abraço e bons estudos!