如何使用PyPNG和2D Python列表制作2D图像

时间:2015-03-20 10:42:49

标签: python pypng

因此阅读自述文件,我期待以下代码:

import png
R = 10
G = 255
B = 0
color = [[ (R,G,B), (R,G,B), (R,G,B) ],
         [ (R,G,B), (R,G,B), (R,G,B) ]]

png.from_array(color, 'RGB').save("small_smiley.png")

输出2x3图像。

然而,我得到断言错误(没有提供描述)。

我有什么问题吗?有没有办法将2D python列表转换为比使用PyPNG更容易的图像文件?

由于

2 个答案:

答案 0 :(得分:3)

PyPNG' from_array不支持3维矩阵。

来自from_array的来源评论:

  

使用术语 3维是出于营销目的   只要。它实际上并不起作用。请耐心等待。与此同时   享用免费小吃(应要求提供),请使用   二维数组。

相反,请考虑Numpy / PIL / OpenCV接近described here


修改:使用numpy和Pillow,以下代码可以正常运行:

from PIL import Image  # Pillow
import numpy as np     # numpy

R = 10
G = 255
B = 0
color = [[ (R,G,B), (R,G,B), (R,G,B) ],
         [ (R,G,B), (R,G,B), (R,G,B) ]]

img = Image.fromarray(np.asarray(color, dtype=np.uint8))
img.save('small_smiley.png')

答案 1 :(得分:1)

使用PyPNG' recent release您的代码现在可以使用了!