📅  最后修改于: 2023-12-03 15:06:49.755000             🧑  作者: Mango
有时候我们需要将 numpy 数组保存成图像,这时就需要用到 PIL 库。在 Python 中,我们可以通过 PIL 的 Image.fromarray() 函数将 numpy 数组转换成 PIL 中的图像格式,然后使用 PIL 中的 save() 函数保存成图像文件。
下面是一个简单的示例代码,演示了如何使用 PIL 保存 numpy 数组。
import numpy as np
from PIL import Image
# 创建一个随机的 numpy 数组
img_array = np.random.rand(512, 512) * 255
# 将 numpy 数组转换成 PIL 中的图像格式
img = Image.fromarray(img_array.astype('uint8'))
# 保存成图像文件
img.save('random_image.png')
在上面的代码中,我们首先使用 numpy.random.rand() 函数创建了一个大小为 512x512 的随机数组,并将其乘以 255,使得数据范围在 0~255 之间。然后,我们将这个 numpy 数组转换成 PIL 中的 Image 对象,并使用 save() 函数将其保存成 PNG 格式的图像文件。
需要注意的是,在使用 Image.fromarray() 函数将 numpy 数组转换成 PIL 中的图像格式时,需要将 numpy 数组的数据类型转换成 'uint8',否则可能会导致图像出现异常。