Image.fromarray
を使用してnumpyマトリックスをグレースケール画像として保存しようとしています。それはランダムな行列上で動作するように見えますが、特定のもの(円が現れるべき場所)では動作しません。誰も私が間違っていることを説明することはできますか?Image.fromarrayは単に黒い画像を生成します
from PIL import Image
import numpy as np
radius = 0.5
size = 10
x,y = np.meshgrid(np.linspace(-1,1,size),np.linspace(-1,1,size))
f = np.vectorize(lambda x,y: (1.0 if x*x + y*y < radius*radius else 0.0))
z = f(x,y)
print(z)
zz = np.random.random((size,size))
img = Image.fromarray(zz,mode='L') #replace z with zz and it will just produce a black image
img.save('my_pic.png')
これを255にスケーリングし、 'uint8/16' dtypesを使用する必要があります。 – Divakar
しかし、 'zz'は0と1の間の値を持つ単なる行列ですが、うまくいくようですか? – flawr
'zz'は動作していますが、' z'は動作していませんか? – Divakar