例如,棋盘格的3像素乘3像素jpeg图像应该类似
[[#000000, #FFFFFF, #000000],
[#FFFFFF, #000000, #FFFFFF],
[#000000, #FFFFFF, #000000]]
我觉得我可能需要下载PIL,但我不知道该模块从他们的网站上做了什么。我还需要能够从这些类型的数组生成图像。谢谢!
答案 0 :(得分:3)
使用Image.getdata方法。该方法返回一个可以迭代的生成器:
from PIL import Image
img = Image.open("a.png")
data = img.getdata()
for (r, g, b, a) in data:
# do something with the pixel values
另一种方法是使用Image.putdata
。这会生成一个很小的棋盘图片:
>>> img = Image.new("L", (3, 3))
>>> data = [0, 255, 0, 255, 0, 255, 0, 255, 0]
>>> img.putdata(data)
>>> img.save("checkerboard.png")
这里我创建了一个灰度图像(只有一个“发光”通道),因此我只为每个像素使用了一个整数值。