numpy.array转换为图片并显示出来

  统计/机器学习 计算机视觉 数据可视化 Python 数据竞赛    浏览次数: 5088
0

我想知道在python里有什么方法可以让numpy array(数值矩阵)转为图片并且显示?

就好比这个数据竞赛里的两个图片

就是根据两个40乘以40的numpy array得到的图片


 

剪叔   2017-12-29 14:57



   2个回答 
7


# ipython@python3环境
import pandas as pd
import numpy as np

with open('~/train.csv') as f:
    data = pd.read_csv(f)

X = data.drop(['y','id'], axis=1)
X = np.array(X)

#  每一行代表一张图片,选取第一行。
pic1 = X[1]
# 图片分辨率是40*40
pic1 = pic1.reshape((40, 40))

# 绘图
%matplotlib inline
from matplotlib import pyplot as plt
# 传入cmap='gray'指定图片为黑白
plt.imshow(pic1, cmap='gray')

另外补充一下,如果是彩色图片,在reshape的时候需要设置成三维,分别代表每个像素点RGB三种配色的取值:


pic1.reshape((height, width, 3))


SofaSofa数据科学社区 DS面经 问答 实战

s3040608090   2017-12-29 15:43

您的回答非常具体!谢谢! - 剪叔   2017-12-29 23:48
2


import matplotlib.pyplot as plt
plt.imshow(my_figure, cmap=plt.cm.binary)
plt.show()


SofaSofa数据科学社区 DS面经 问答 实战

数据痴汉   2018-03-23 01:19



  相关主题

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

调用np.average()时报错TypeError: No loop matching   1回答

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

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

怎么把torch.tensor转成numpy ndarray?   2回答

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

怎么用numpy生成一个三维的tensor?   1回答

python或者numpy求数值的中位数、四分位数   1回答

python numpy里array和matrix的区别?   1回答

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

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

求一个nxn的numpy array的对角线的和?   1回答



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

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

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

我们谢绝答非所问。

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

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