2

したがって、readme を読んで、次のコードを期待していました。

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 画像を出力します。

ただし、アサーション エラーが発生します (説明はありません)。

私が間違っていることはありますか?PyPNGをいじるよりも簡単な2D pythonリストを画像ファイルに変換する方法はありますか?

ありがとう

4

2 に答える 2

3

PyPNGfrom_arrayは 3 次元行列をサポートしていません。

のソースコメントからfrom_array

3 次元という用語は、マーケティング目的でのみ使用されます。実際には機能しません。どうぞご容赦ください。その間、無料の軽食をお楽しみください (要リクエスト)。2 次元配列を使用してください。

代わりに、こちらで説明されている 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 に答える