怎么把3D的numpy array显示为彩色图像并且保存?

  统计/机器学习 计算机视觉 数据可视化 Python    浏览次数:564        分享
0

怎么把3D的numpy array显示为彩色图像并且保存?

 

bugoutong   2019-11-09 09:47



   3个回答 
3

这里用matplotlib库实现,默认数据是numpy array,RGB通道排列的三维数据

from matplotlib import pyplot as plt
plt.imshow(data) 
# 这里默认是RGB通道排列,即(R,G,B),如果是其他通道表述可以通过data.transpose来调整
plt.savefig("./1.jpg")


SofaSofa数据科学社区DS面试题库 DS面经

Estein   2019-11-09 20:21

2

使用pillow库的Image.fromarray,你的3D的numpy array我理解图片是RGB的

下面我给了代码和示例图片

from PIL import Image
import numpy as np

if __name__ == '__main__':
    org_img = Image.open('vacant.jpg')
    org_pix = np.array(org_img)
    print(org_pix.shape)  # (32, 32, 3)
    img = Image.fromarray(org_pix.astype('uint8')).convert('RGB')
    img.save('111.jpg')


SofaSofa数据科学社区DS面试题库 DS面经

eleve11   2019-11-09 10:04

是的,是RGB的数值。多谢! - bugoutong   2019-11-09 13:31
1

keras里面的一些函数也可以用保存图片

from keras.preprocessing import image
my_img = image.array_to_img(my_array)
my_img.save('output.jpg') 
my_img.show()
SofaSofa数据科学社区DS面试题库 DS面经

okayguy   2019-11-22 09:32



  相关主题

numpy.histogram怎么生成直方图?   1回答

如何往numpy array中插入一列数组?   4回答

numpy里面resize和reshape的区别是什么?   1回答

numpy里的np.clip函数怎么用?   1回答

'numpy.ndarray' object has no attribute 'head'   1回答

如何在numpy array尾部增加一行   2回答

numpy里的无穷大np.inf到底是多大呢?   2回答

怎么把本地的png图片读入numpy array里?   2回答

对numpy array求每行的均值   1回答

怎么生成一个填满逻辑真(True)的numpy array?   1回答

numpy array里怎么用fillna填充nan的值?   1回答

用np.round的时候报错AttributeError: no attribute 'rint'   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!