Ooi, Lenon! Como vai?
Esse erro está relacionado ao fato de a função cv2.rectangle
estar recebendo um argumento inválido, que não é uma matriz numpy ou um tipo esperado pela função.
No traceback, é possível identificar que a função caixa_texto
está retornando um objeto img
, mas o OpenCV está esperando que esse objeto seja uma imagem no formato de matriz numpy. Isso pode ocorrer se o retorno da função caixa_texto
não estiver no formato correto.
Vou deixar abaixo algumas sugestões de ajustes:
→ Verifique se img
é uma imagem válida do OpenCV. Se caixa_texto
está retornando algo diferente de uma imagem (como uma lista ou outro tipo de objeto), isso causará o erro.
→ Uma possível correção seria garantir que img_copia
seja uma imagem (matriz numpy) antes de passá-la para cv2.rectangle
. Além disso, revise a função caixa_texto
para garantir que está retornando os tipos de dados corretos.
Vou deixar abaixo um exemplo de como o código pode ser ajustado:
img_copia = rgb.copy()
for i in range(len(resultado['text'])):
confianca = int(resultado['conf'][i])
if confianca > min_conf:
x, y, img_copia = caixa_texto(resultado, img_copia)
if isinstance(img_copia, np.ndarray): # Verifica se img_copia é uma matriz numpy
cv2.imshow('Imagem', img_copia)
else:
print("Erro: img_copia não é uma imagem válida.")
→ Nesse código, foi adicionada uma verificação para garantir que img_copia
é uma matriz numpy antes de chamar cv2.imshow
. Se não for, será exibida uma mensagem de erro.
Sugestões adicionais:
- Verifique se a função
caixa_texto
retorna img_copia
no formato esperado. - Verifique se
resultado['height'][i]
e outros índices acessados na função caixa_texto
são válidos e existem.
Espero ter ajudado!
Abraço ✨
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!