(Python3)如何从像素值重新创建图像?

时间:2018-03-23 13:07:22

标签: python-3.x python-imaging-library

我有这段代码:

from PIL import Image
im = Image.open('red-flower.jpg', 'r')
pix_val = list(im.getdata())
pix_val_flat = [x for sets in pix_val for x in sets]
print(pix_val_flat)

它采用红色花朵的图像并读取像素值,然后将其存储在变量" pix_val"然后pix_val_flat使图像变平,从而使像素列表更清晰,而不是像这样的列表,[(R,G,B,A),(R,G,B,A)]。

那么如何使用这些像素值重新创建图像呢?

1 个答案:

答案 0 :(得分:0)

您对像素访问-https://pillow.readthedocs.io/en/5.2.x/reference/PixelAccess.html感兴趣。

假设您知道图像的宽度,高度和模式-

from PIL import Image
im = Image.new('RGB')
px = im.load()
for x in range(0, w):
    for y in range(0, h):
        px[x, y] = (255, 0, 0)

我想您可能还希望使用它来读取像素。

from PIL import Image
im = Image.open('hopper.jpg')
px = im.load()
pix_val_flat = []
for x in range(0, im1.width):
    for y in range(0, im1.height):
        pix_val_flat.append(px[x, y])