使用mss调整屏幕截图的大小,以便更好地使用pytesseract进行阅读。
使用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的识别效果更好。