将[0,1]中的浮点像素数组转换为python中的灰度图像

时间:2017-06-01 02:45:42

标签: python python-imaging-library

我在区间[0,1]中有一个400x1的numpy浮点数,表示图像的像素,即,如果调整大小为20x20,它将是所需的图像。我想在Python中将其转换为灰度图像。为了完全重现我的错误,我将我的数组放在this pastebin link中。我的代码是

pixels = np.array(pixels)
img = Image.fromarray(pixels.reshape((20,20)), mode='LA')
img = img.resize((140, 140), Image.LANCZOS)
img.show()

导致

enter image description here

图像应该是7。

1 个答案:

答案 0 :(得分:3)

假设'pixels'是0到1之间的浮点数的python列表,

pixels = 255 * (1.0 - pixels)
pixels.resize((20,20))
im = Image.fromarray(pixels.astype(np.uint8), mode='L')
im = im.resize((140, 140))
im.show()