【发布时间】:2018-04-27 16:33:35
【问题描述】:
我正在尝试使用Image.fromarray 将 numpy 矩阵保存为灰度图像。它似乎适用于随机矩阵,但不适用于特定矩阵(应该出现一个圆圈)。谁能解释我做错了什么?
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/16dtypes。 -
但是
zz也只是一个值在0到1之间的矩阵,它似乎工作得很好? -
你是说
zz有效,但z无效? -
是的,
z是我真正想要保存的那个,zz只是作为一个确实有效的示例(与z相比),它们都有 dtype @ 987654330@.
标签: python numpy python-imaging-library