我想截取一定范围的屏幕截图,然后我想查看某些行的像素值(例如x_axis从400到800)。 我尝试过多种方式,比如imagegrab,gdi32.GetPixel等等。看起来读取像素值需要花费很多时间,所以我甚至尝试将其转换为列表,就像这样
im = ImageGrab.grab(box)
pixels = list(im .getdata())
即使这似乎也不快。有什么我做错了吗?
答案 0 :(得分:1)
ImageGrab
以PIL格式返回像素(Python成像库:http://effbot.org/imagingbook/image.htm),.getdata()
已经将像素作为序列返回。通过再次将其包裹在list()
中,您将执行两次相同(昂贵)的操作。你可以这样做:
im = ImageGrab.grab(box)
pixels = im.getdata()
以您喜欢的方式迭代您的像素。