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

时间:2018-08-22 12:09:37

标签: python python-imaging-library python-mss

我使用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))

1 个答案:

答案 0 :(得分:1)

可以将图像转换为PIL对象,示例代码为here

在计划裁剪时,请考虑将其作为grabbing的一部分,而不是获取整个屏幕并进行裁剪作为后期处理。