在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))'
有了这个,我无法保存每张图片。
答案 0 :(得分:0)
文件名应以您想要的扩展名结束,
plt.savefig(str(i)+".png")
或者您需要指定format
:
plt.savefig(str(i), format="png")
您可能遇到的另一个问题是,一段时间后您的绘图速度会变慢,因为所有图像都放在彼此的顶部。为避免这种情况,您可以在循环结束时调用plt.close()
。