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()