2

I need to resize an screenshot taken by mss in order to get better reading by pytesseract and i get it done with pil+pyscreenshot but can't get it to with mss.

from numpy import array, flip
from mss import mss
from pytesseract import image_to_string
from time import sleep

def screenshot():
    cap = array(mss().grab({'top': 171, 'left': 1088, 'width': 40, 'height': 17}))
    cap = flip(cap[:, :, :3], 2)
    return cap

def read(param):
    tesseract = image_to_string(param)
    return tesseract

while True:
    print(read(screenshot()))
    sleep(2)

here its working with pyscreenshot

from time import sleep
from PIL import Image, ImageOps
import pyscreenshot as ImageGrab
import pytesseract

while 1:
    test = ImageGrab.grab(bbox=(1088,171,1126,187))
    testt = ImageOps.fit(test, (50, 28), method=Image.ANTIALIAS)
    testt.save('result.png')
    read = pytesseract.image_to_string(testt)
    print(read)
    sleep(2)

And, i don't care about maintain aspect radio, works better that way with pytesseract.

Tiger-222
  • 6,677
  • 3
  • 47
  • 60
Siewdass Sf
  • 169
  • 1
  • 10

0 Answers0