0

所以我正在做的是截取屏幕截图,获取像素 RGB 值,并将其放入另一个图像中。代码可以在这里或下面找到。一切正常,除了它很慢,并且使系统也有点慢(当睡眠时间为 0 时)。

import time

import Image
import ImageGrab

X = 0 # seconds to pause before taking next pixel
WIDTH = 300 # the width of the image drawn, higher number = slower
HEIGHT = 300 # the height of the image drawn, higher number = slower

if __name__ == '__main__':

    #start = time.time()

    pixels_img = Image.new('RGB', (WIDTH, HEIGHT), 'black') # create a new Image instance
    pixels = pixels_img.load()

    for w in xrange(WIDTH):
        for h in xrange(HEIGHT):
            img = ImageGrab.grab() # take a screenshot
            img = img.resize((WIDTH, HEIGHT)) # create a thumbnail
            pixels[w, h] = img.getpixel((w, h)) # pixels(x, y) = (r, g, b)
            time.sleep(X)

    pixels_img.save('pixel.png', 'PNG')
    pixels_img.show()
    #print time.time() - start

我尝试使用 100 px 的图像大小,大约需要 19 分钟。考虑到我需要更大的图像来获得更好且可用的脚本,这很多。

我如何能:

  • 使脚本更快,更快?
  • 让它使用更少的系统资源?
4

0 回答 0