Python 需要改进性能。使用PIL拍摄数千张截图
所以我要做的是截屏,得到像素的RGB值,然后把它放到另一张图片中。代码可以在下面或下面找到。一切正常,只是速度慢,并且使系统也有点慢(当睡眠时间为0时) 我试过用100像素的图像,大约用了19分钟。这是很多考虑,我需要一个更大的图像,以获得更好的和可用的脚本 我如何:Python 需要改进性能。使用PIL拍摄数千张截图,python,image,performance,screenshot,python-imaging-library,Python,Image,Performance,Screenshot,Python Imaging Library,所以我要做的是截屏,得到像素的RGB值,然后把它放到另一张图片中。代码可以在下面或下面找到。一切正常,只是速度慢,并且使系统也有点慢(当睡眠时间为0时) 我试过用100像素的图像,大约用了19分钟。这是很多考虑,我需要一个更大的图像,以获得更好的和可用的脚本 我如何: 让脚本快得多 让它使用更少的系统资源 你想做什么?好吧,你不能以一种有效的方式拍摄数千张截图。时期你必须找到另一种方法来实现你想要的,没有更多的上下文,我们无法帮助你。为什么你要为图像中的每个像素抓取一次屏幕截图?这看起来效率很
- 让脚本快得多
- 让它使用更少的系统资源
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