1
resposta

Erro no reconhecimento

O pytesseract vê o G como um E.

import numpy as np
from PIL import ImageGrab, ImageFont, ImageDraw, Image
import cv2
import pytesseract
import pyautogui
import time
from pytesseract import Output

pytesseract.pytesseract.tesseract_cmd = r'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'

img = cv2.imread('asasa\\Aula1-ocr.png')
rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

fonte = 'asasa\\calibri.ttf'

config_tesseract = '--tessdata-dir "C:\\Program Files\\Tesseract-OCR\\tessdata"'

resultado = pytesseract.image_to_data(rgb,config=config_tesseract, lang='eng', output_type=Output.DICT)
print(resultado)

min_conf = 20
def escreve_texto(texto,x,y,img,fonte,tamanho_texto=32):
    fonte = ImageFont.truetype(fonte, tamanho_texto)
    img_pil = Image.fromarray(img)
    draw = ImageDraw.Draw(img_pil)
    draw.text((x,y - tamanho_texto), texto, font = fonte)
    img = np.array(img_pil)
    return img

def caixa_texto(resultado, img, cor = (255,100,0)):   
        x = resultado['left'][i]
        y = resultado['top'][i]
        w = resultado['width'][i]
        h = resultado['height'][i]
        cv2.rectangle(img, (x,y), (x+w,y+h), cor,2)

    
        return x,y,img


img_copia = rgb.copy()
for i in range(len(resultado['text'])):
    confianca = int(resultado['conf'][i])
    if confianca > min_conf:
        x,y,img = caixa_texto(resultado, img_copia)
        texto = resultado['text'][i]
        #cv2.putText(img_copia, texto, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0,100,255))
        img_copia = escreve_texto(texto, x, y, img_copia, fonte)

        
cv2.imshow('window', img_copia) 
cv2.waitKey(0)
cv2.destroyAllWindows()
1 resposta

Oi Iuri, tudo bem?

Realmente estranho! Baixei o notebook disponibilizado no curso e obtive a letra G, como a instrutora.

Para tentar solucionar esse problema, tente ajustar os parâmetros de configuração do Tesseract para melhorar a precisão. Tente usar o parâmetro --psm 6 (Page Segmentation Mode).

Exemplo:

config_tesseract = '--tessdata-dir "C:\\Program Files\\Tesseract-OCR\\tessdata" --psm 6'

Caso o problema persista, peço que compartilhe o link do seu notebook, para que eu possa analisar mais cuidadosamente.

Espero ter ajudado.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!