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?
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()
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
).