Numpy与图像互转

图像转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转图像

现假设变量imgnp.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.使用Imagesave方法

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')

上面前两条语句任选其一均可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。