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

2024-04-09

例如,棋盘的 3 像素 x 3 像素 jpeg 图像应该类似于

[[#000000, #FFFFFF, #000000],
[#FFFFFF, #000000, #FFFFFF],
[#000000, #FFFFFF, #000000]]

我觉得我可能需要下载 PIL,但我无法从他们的网站上看出该模块的作用。我还需要能够从这些类型的数组生成图像。谢谢你!


Use the 图像.getdata http://www.pythonware.com/library/pil/handbook/image.htm#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 http://www.pythonware.com/library/pil/handbook/image.htm#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")

在这里,我创建了一个灰度图像(只有一个“发光”通道),因此我只为每个像素使用一个整数值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐