且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Python:如何创建一个包含图像中每个像素信息的数组?

更新时间:2023-11-23 08:29:52

使用 Image.getdata 方法.该方法返回一个可以迭代的生成器:

Use the Image.getdata method. The method returns a generator that you can iterate over:

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 一个>.这会生成一个小棋盘格图片:

To go the other way you use Image.putdata. This generates a tiny checkerboard picture:

>>> img = Image.new("L", (3, 3))
>>> data = [0, 255, 0, 255, 0, 255, 0, 255, 0]
>>> img.putdata(data)
>>> img.save("checkerboard.png")

在这里我创建了一个灰度图像(只有一个发光"通道),所以我只为每个像素使用一个整数值.

Here I created a grayscale image (only one "luminescence" channel) and so I just used a single integer value for each pixel.