Bom dia companheiros. Utilizando as imagens fornecidas, as mesmas configurações assim como versões de bibliotecas do curso, obtive resultados ligeiramente diferentes no reconhecimento OCR.
Sugiro uma modificação para o bounding box onde o retângulo azul seja para o que foi reconhecido acima do limite de confiança e o laranja com texto acima para o caso em que texto fora reconhecido mas fora abaixo do limite de confiança. Segue sugestão para a função:
def caixa_texto(vetor, indice, imagem, limite_confianca=60):
texto = resultado['text'][indice]
if texto == '':
return imagem
x = vetor['left'][indice]
y = vetor['top'][indice]
w = vetor['width'][indice]
h = vetor['height'][indice]
cor = (255, 100, 0)
if int(vetor['conf'][indice]) < limite_confianca:
cor = (0, 100, 255)
cv2.putText(imagem, texto, (x, y-5), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0,0,255))
cv2.rectangle(imagem, (x, y), (x+w, y+h), cor, 2)
return imagem
Chamada:
imgcp = img.copy()
for a in range(len(resultado['text'])):
imgcp = caixa_texto(resultado, a, imgcp, min_conf)
cv2_imshow(imgcp)
Resultado: