2

所以阅读自述文件,我期望以下代码:

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 更容易的图像文件?

谢谢

4

2 回答 2

3

PyPNGfrom_array不支持 3 维矩阵。

从源评论from_array

术语3-D的使用仅用于营销目的。它实际上不起作用。请多多包涵。同时享受免费小吃(根据要求),请使用二维数组。

相反,请考虑此处描述的 Numpy/PIL/OpenCV 方法。


编辑:以下代码有效,使用 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')
于 2015-03-20T10:50:31.350 回答
1

随着 PyPNG 的最新版本,您的代码现在可以工作了!

于 2015-09-08T13:21:25.977 回答