需要提高性能。使用PIL拍摄数千张截图

时间:2013-08-04 15:38:04

标签: python image performance screenshot python-imaging-library

所以我正在做的是截取屏幕截图,获取像素RGB值,并将其放入另一个图像中。代码可以在here或更低的位置找到。一切正常,除了它很慢,并使系统有点慢(睡眠时间为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像素,花了大约19分钟。考虑到我需要一个更大的图像来获得更好和更有用的脚本,这是很多。

我如何:

  • 让脚本更快,更快?
  • 减少使用系统资源吗?

0 个答案:

没有答案