Image.open(img)必须是本地文件吗?

问题遇到的现象和发生背景

想通过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 的安装和配置问题?
参考