使用mss调整屏幕截图的大小,以便更好地使用pytesseract进行阅读。

4 浏览
0 Comments

使用mss调整屏幕截图的大小,以便更好地使用pytesseract进行阅读。

为了让pytesseract更好地识别,我需要调整mss截取的屏幕截图的大小。使用pil+pyscreenshot可以完成,但是使用mss时无法成功。\n

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)

\n在这里,使用pyscreenshot可以正常工作。\n

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)

\n而且,我不关心保持纵横比,这样对于pytesseract的识别效果更好。

0