将MSS屏幕截图转换为PIL图像



我使用 mss 截图,因为它显然可以快速截图。那么有没有办法将其转换为图像而无需将其保存在我的计算机上(它更快(,例如枕头中的image.grab((。这是因为我需要执行各种操作,例如裁剪查找枕头有用的颜色。

Traceback (most recent call last):
File "/Users/Hari/Desktop/stuff/Tetris/test.py", line 84, in <module>
img = im.crop((40*i+376, 40*j+485, 40*i+396, 40*j+505))
AttributeError: 'ScreenShot' object has no attribute 'crop'

with mss.mss() as sct:
monitor = sct.monitors[1]
im = sct.grab(monitor)
for i in range(0,10):
for j in range(0, 18):
img = im.crop((40*i+376, 40*j+485, 40*i+396, 40*j+505))
rgb = img.convert('RGB')
r, g, b = rgb.getpixel((1, 1))

图像可以转换为 PIL 对象,这里有示例代码。

当您计划裁剪时,请考虑将其作为抓取的一部分,而不是抓取整个屏幕并裁剪作为后期处理。

最新更新