将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))


心有法竹
浏览 392回答 1
1回答

跃然一笑

该图像可被转换为PIL对象,有例如代码这里。当您计划裁剪时,请考虑将其作为抓取的一部分,而不是抓取整个屏幕并将裁剪作为后期处理。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python