原谅我任何天真,但我不熟悉图像。假设我有一个二进制值列表[1,0,0,0,1,0,1,0,0,0,0,1,1,0 ....],表示黑白图像中的像素。我如何从这个列表中创建一个.png文件?
答案 0 :(得分:4)
使用Python Imaging Library实现此目的。
有一种img = Image.frombuffer(mode, size, data)
方法可以从“原始”数据(字符串)创建图像。然后,您可以通过img.save('image.png', transparency=transparency)
答案 1 :(得分:3)
扩展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')
我认为这就是你所追求的......