Python列表到pil图像



简单说一下:我需要将python列表转换为枕头图像。

列表可能看起来像这样:

[[(1,1,1,255),(2,2,2,255),(3,3,3,255)],
[(1,1,1,255),(2,2,2,255),(3,3,3,255)],
[(1,1,1,255),(2,2,2,255),(3,3,3,255)]]

基本上是一个二维数组,像素编码为(R,G,B,Alpha)

我还有一个变量叫做"size"生成的图像大小,例如[1000,2000](与示例列表不匹配,示例列表仅为[3,3]ofc.)

我知道这是个新手问题。但是我如何在不使用慢循环的情况下将这个列表转换为枕头RGBA图像?

您应该将其转换为numpy数组,然后可以从numpy数组构建图像:

import  numpy as np
from PIL import Image
a = [[(1,1,1,255),(2,2,2,255),(3,3,3,255)],
[(1,1,1,255),(2,2,2,255),(3,3,3,255)],
[(1,1,1,255),(2,2,2,255),(3,3,3,255)]]
x = np.asarray(a, dtype=np.uint8)
Image.fromarray(x)
>>> <PIL.Image.Image image mode=RGBA size=3x3 at 0x7F8C4096E640>

最新更新