记录一次将数组转为图像的操作
将自己生成的数组转为图像的操作方式,记录一下,其中Image.formarray()的用法只说明两种,具体可查寻函数介绍
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
# 数组转成灰度图像
img = np.zeros((512, 512))
for x in range(300):
for y in range(512):
img[x, y] = 180
img1 = Image.fromarray(np.uint8(img), 'L') # “L”表示灰度图像,每个像素用8位表示
img1.save('./' + 'fsof' '.png')
# plt.imshow(img1)
# 三通道数组转成彩色图像
img2 = np.zeros((512, 512, 3))
for x in range(300):
for y in range(512):
img2[x, y, :0] = 230
for x in range(300):
for y in range(512):
img2[x, y, :1] = 80
for x in range(300):
for y in range(512):
img2[x, y, :2] = 150
img2 = Image.fromarray(np.uint8(img2), 'RGB') # 八位表示的彩色图像
img2.save('RGBimg' + '.png')
fsof.png
RGBimg
本文介绍了如何使用Python将数组转换为灰度图像和彩色图像的方法。通过numpy生成特定数值的数组,并利用PIL库的Image.fromarray函数将其转换为图像文件。示例中详细展示了创建灰度图像和三通道彩色图像的具体步骤。
2379





