MNIST使用matplotlib从CSV保存图像

时间:2017-09-17 11:22:32

标签: python csv matplotlib mnist

在MNIST数据集中,我有CSV格式的图像,784列中的每一列对应于像素强度。我想保存这些图片而不用imshow查看它们。

import numpy as np
import csv
import matplotlib.pyplot as plt
i=0
with open('Book1.csv', 'r') as csv_file:
for data in csv.reader(csv_file):

    # The rest of columns are pixels
    pixels = data[:]

    # This array will be of 1D with length 784
    # The pixel intensity values are integers from 0 to 255
    pixels = np.array(pixels, dtype='uint8')

    # Reshape the array into 28 x 28 array (2-dimensional array)
    pixels = pixels.reshape((28, 28))
    i +=1
    # Plot
    plt.title('Label is {label}'.format(label=label))
    plt.imshow(pixels, cmap='gray')
    plt.savefig(str(i))'

有了这个,我无法保存每张图片。

1 个答案:

答案 0 :(得分:0)

文件名应以您想要的扩展名结束,

plt.savefig(str(i)+".png")

或者您需要指定format

plt.savefig(str(i), format="png")

您可能遇到的另一个问题是,一段时间后您的绘图速度会变慢,因为所有图像都放在彼此的顶部。为避免这种情况,您可以在循环结束时调用plt.close()