想通过Image.grab()函数抓取截图然后用pytesseract.image_to_string()识别图中内容,如果要将抓取的图片保存到本地再打开的话将大大降低效率。
from PIL import ImageGrab as ig,Image
import numpy as np
import pytesseract
img = ig.grab()
image = Image.open(img)
content = pytesseract.image_to_string(image) # 识别图片
print(content)
尝试过直接使用image.grab()抓取的结果传入报错,转换成np.array(img)数组形式也报错
如何不保存直接传入image对象进行识别?求解释一下原因
# grab方法返回的就是Image对象
# 直接传入 grab方法返回值 我这里不会出错
>>> from PIL import ImageGrab as ig,Image
>>> import pytesseract
>>> img = ig.grab(bbox=(0,0,100,100))
>>> img.show()
>>> content = pytesseract.image_to_string(img)
>>> print(content)
*Python 3.
Eile Edit.
是不是 pytesseract 的安装和配置问题?
参考