Python-将3维数组保存到图像文件中

时间:2019-04-04 12:27:07

标签: python image numpy matplotlib python-imaging-library

我正在尝试以numpy.ndarray格式保存图像(由GAN生成),形状为(row, col, channel),具有浮点值。我在这里找到的第一个策略是使用PIL

from PIL import Image

img_array = np.reshape(img_array, (row, col))
img_array *= 255
img = Image.fromarray(img_array.astype(np.uint8))
img.save('foo.png')

但是看到结果后(无论是用matplotlib绘制还是保存为图像文件),它都会产生类似这样的白色伪像

Sample of image in PIL

与将数组直接绘制到matplotlib中相比,效果更好,但是保存时会在图像文件中创建空白

Sample of image from matplotlib

如何以与图相同的质量保存图像?

nb:我已经使用img_array.max()img_array.min()检查了该值,是的,该值超出了0-255阈值

0 个答案:

没有答案