MNIST图片
在 MNIST 数据集中的每张图片由 28 * 28 个像素点构成,每个像素点用一个灰度值表示。在这里,我们将 28 * 28 的像素展开并将其写入到指定目录。
首先,我们建立展开后的目录,我的配置如下图。也就是在minst_data(道歉,才发现目录写错)下建立 mnist_train 目录。
Python代码
import struct
import numpy as np
#import matplotlib.pyplot as plt
import PIL.Image
filename='minst_data/train-images-idx3-ubyte'
binfile=open(filename,'rb')
buf=binfile.read()
index=0
magic,numImages,numRows,numColumns=struct.unpack_from('>IIII',buf,index)
index+=struct.calcsize('>IIII')
for image in range(0,numImages):
im=struct.unpack_from('>784B',buf,index)
index+=struct.calcsize('>784B')
im=np.array(im,dtype='uint8')
im=im.reshape(28,28)
im=PIL.Image.fromarray(im)
im.save('minst_data/mnist_train/train_%s.bmp'%image,'bmp')
注意目录的位置要和自己机器上配置一致。
运行结果
代码运行后,可以在 mnist_train 目录下得到对应的原始图片。如下图所示。图片比较多,耐心等。