请原谅我的幼稚,但我对处理图像还是新手。假设我有一个二进制值列表[1,0,0,0,1,0,1,0,0,0,0,1,1,0....],它代表黑白图像中的像素。如何将这个列表转换为.png文件呢?
请原谅我的幼稚,但我对处理图像还是新手。假设我有一个二进制值列表[1,0,0,0,1,0,1,0,0,0,0,1,1,0....],它代表黑白图像中的像素。如何将这个列表转换为.png文件呢?
img = Image.frombuffer(mode, size, data)
,可以从“原始”数据(字符串)创建图像。您可以通过img.save('image.png', transparency=transparency)
将其保存为PNG文件。在BasicWolf的示例基础上进行扩展:
from PIL import Image
import struct
size = 5, 5
arr = [1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0]
data = struct.pack('B'*len(arr), *[pixel*255 for pixel in arr])
img = Image.frombuffer('L', size, data)
img.save('image.png')