numpy三维数组保存为图像的几种方法

使用scipy.misc

from PIL import Image
import numpy as np
from scipy import misc

image = Image.open("0_train.jpg")  # 首先在该py文件所在目录下随便放一张图片,使用PIL.Image库的open方法打开
image_array = np.array(image)  # 使用numpy将该图片的二进制数据转换成多维数组形式
print(image_array)
misc.imsave('out.jpg', image_array)  # 使用misc.imsave方法将数组保存为图片

使用PIL库

from PIL import Image
import numpy as np

im = Image.open("0_train.jpg")  # 打开图片
im_array = np.array(im)  # 将图片转化为numpy数组
print(im_array)
img = Image.fromarray(im_array).convert('RGB')  # 将数组转化回图片
img.save("out.bmp")  # 将数组保存为图片

使用matplotlib库

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

# 使用PIL库和numpy是只是为了快速得到一个可以用于保存为图片的数组,即从现有的图片直接转换成数组
im = Image.open("0_train.jpg")  # 打开图片
im_array = np.array(im)  # 将图片转化为numpy数组
print(im_array)
plt.imshow(im_array)  # 绘制图片
plt.savefig("out_plt2.png")  # 保存图片

注意这种方式生成的图片默认是带坐标轴的。你可以使用matplotlib.pyplot中相关方法隐藏坐标轴。另外这种绘制出的图片四周有空白。

使用opencv库

from PIL import Image
import numpy as np
import cv2

im = Image.open("0_train.jpg")  # 打开图片
im_array = np.array(im)  # 将图片转化为numpy数组
print(im_array)
cv2.imwrite("out_cv2.jpg", im_array)  # 保存图片
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值