如何使用带有 2D Python 列表的 PyPNG 制作 2d 图像
How to make 2d images with PyPNG with 2D Python Lists
阅读自述文件后,我预计会出现以下代码:
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 更容易的图像文件?
谢谢
PyPNG 的 from_array
不支持 3 维矩阵。
来自 from_array
的来源评论:
The use of the term 3-dimensional is for marketing purposes
only. It doesn't actually work. Please bear with us. Meanwhile
enjoy the complimentary snacks (on request) and please use a
2-dimensional array.
相反,请考虑 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')
使用 PyPNG recent release 您的代码现在可以工作了!
阅读自述文件后,我预计会出现以下代码:
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 更容易的图像文件?
谢谢
PyPNG 的 from_array
不支持 3 维矩阵。
来自 from_array
的来源评论:
The use of the term 3-dimensional is for marketing purposes only. It doesn't actually work. Please bear with us. Meanwhile enjoy the complimentary snacks (on request) and please use a 2-dimensional array.
相反,请考虑 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')
使用 PyPNG recent release 您的代码现在可以工作了!