读取像素值python数组

时间:2016-12-19 19:46:35

标签: python image

我想截取一定范围的屏幕截图,然后我想查看某些行的像素值(例如x_axis从400到800)。 我尝试过多种方式,比如imagegrab,gdi32.GetPixel等等。看起来读取像素值需要花费很多时间,所以我甚至尝试将其转换为列表,就像这样

im = ImageGrab.grab(box)
pixels = list(im .getdata())

即使这似乎也不快。有什么我做错了吗?

1 个答案:

答案 0 :(得分:1)

ImageGrab以PIL格式返回像素(Python成像库:http://effbot.org/imagingbook/image.htm),.getdata()已经将像素作为序列返回。通过再次将其包裹在list()中,您将执行两次相同(昂贵)的操作。你可以这样做:

im = ImageGrab.grab(box)
pixels = im.getdata()

以您喜欢的方式迭代您的像素。