Python中的二进制列表到PNG

时间:2011-04-15 05:34:01

标签: python image-manipulation

原谅我任何天真,但我不熟悉图像。假设我有一个二进制值列表[1,0,0,0,1,0,1,0,0,0,0,1,1,0 ....],表示黑白图像中的像素。我如何从这个列表中创建一个.png文件?

2 个答案:

答案 0 :(得分:4)

使用Python Imaging Library实现此目的。

有一种img = Image.frombuffer(mode, size, data)方法可以从“原始”数据(字符串)创建图像。然后,您可以通过img.save('image.png', transparency=transparency)

将其另存为PNG文件

答案 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')

我认为这就是你所追求的......