如何在Python中将矩阵中的灰度值转换为图像?

0 投票
2 回答
2838 浏览
提问于 2025-04-18 15:12

我有一组灰度值,放在一个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] ...

我想把这个矩阵保存成一张灰度图像,方法如下:

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

可是我得到的图像却是一片黑乎乎的,大小也是24x24。请问我哪里出错了?

2 个回答

0

很遗憾,fromarray 没有说明文档,但如果你的“矩阵”是一个 numpy 数组(或者其他实现了数组接口的东西),并且你把模式设置为 'L'(作为 fromarray 的第二个参数),那么你尝试的应该是可以工作的。

2

你可以使用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()

撰写回答