How to convert grayscale values in matrix to an im

2019-08-16 12:49发布

I have a set of grayscale values in matrix of shape 24x24:

masked=[[149 172 160 166 170 179 180 176 202 190 221 232 125 112 153 132 200 185
  191 231 227 101  85 127] ...

And I try to save this matrix file to a grayscale image as follows:

im = Image.fromarray(masked_crop)
im.save('crop.png')

But instead of having those values in my image, I get a complete dark image of size 24x24. Where am I going wrong?

2条回答
一纸荒年 Trace。
2楼-- · 2019-08-16 13:09

Unfortunately fromarray has no docstring, but what you are trying should work if your "matrix" is a numpy array (or otherwise implements the array interface) and you additionally set the mode to 'L' (as the second argument to fromarray).

查看更多
何必那么认真
3楼-- · 2019-08-16 13:13

You can display and save an image with matplotlib

import numpy
from matplotlib import pyplot as plt
x = numpy.random.rand(10, 10)*255
plt.imshow(x, cmap='gray', interpolation='nearest', vmin=0, vmax=255)
plt.savefig('text.png')
plt.show()
查看更多
登录 后发表回答