图像转numpy
这相对简单,示例如下:
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
img = Image.open('tiger.jpg')
img = np.array(img)
plt.imshow(img)
numpy转图像
现假设变量img
为np.array数据,则将其转为图像并存储有两种方式:
1.使用plt.imsave
plt.imsave('tiger.jpg', img.astype('uint8')) # 必须将img转化为uint8格式,且保证其范围在0~255之间
plt.imsave('tiger.jpg', img.astype('float32') / 255) # 必须将img转化为float32格式,且保证其范围在0~1之间
上面两条语句任选其一均可。
2.使用Image的save方法
im = Image.fromarray(img.astype('uint8')) # 必须将img转化为uint8格式,且保证其范围在0~255之间
im = Image.fromarray(img.astype('float32') / 255) # 必须将img转化为float32格式,且保证其范围在0~1之间
im.save('tiger.jpg')
上面前两条语句任选其一均可。