Mnist的读取和输出为JPG图片

来源:互联网 发布:淘宝号不能登陆优酷 编辑:程序博客网 时间:2024/06/15 10:20

Mnist是个简单的手写0~9的数据集,一般是作为新手练习之用。该代码读取Mnist数据集,并输出jpg图片和label的txt文件。

import numpy as np     import struct    import matplotlib.pyplot as plt     from PIL import Image,ImageFont,ImageDrawimport cvimport scipy.miscfilename = 'DataSet/train-images-idx3-ubyte'    #filename = 'C:/Users/haoming/Desktop/train-images-idx3-ubyte' filename1 = 'DataSet/train-labels-idx1-ubyte'binfile = open(filename,'rb')#以二进制方式打开    lbinfile = open(filename1,'rb')buf  = binfile.read()    lbuf = lbinfile.read()   index = 0lind  = 0magic, numImages, numRows, numColums = struct.unpack_from('>IIII',buf,index)#读取4个32 int    print (magic,' ',numImages,' ',numRows,' ',numColums  )  index += struct.calcsize('>IIII')    lmagic, numl = struct.unpack_from('>II',lbuf,lind)print 'label'print (lmagic,' ', numl)lind += struct.calcsize('>II')outputLabel='Dataset_label/labels.txt'fw=open(outputLabel,"w+")outputImgDir='Dataset_img/'for i in range(numl):    im = struct.unpack_from('>784B',buf,index)    index += struct.calcsize('>784B' )    im = np.array(im)    #np.transpose(im)     #print im.shape    im = im.reshape(28,28)    imgdir=outputImgDir+str(i)+'.jpg'    scipy.misc.imsave(imgdir, im)##########3    #tlabel=np.array((struct.unpack_from('>1B',lbuf,lind)))[0]    tlabel=np.array((struct.unpack_from('>1B',lbuf,lind)))[0]    #print tlabel    fw.write(str(tlabel)+"\n")    lind+=struct.calcsize('>1B')fw.close()binfile.close()lbinfile.close()#index +=784*123*8"""print indexim = struct.unpack_from('>784B',buf,index)#每张图是28*28=784Byte,这里只显示第一张图    index += struct.calcsize('>784B' )    im = np.array(im)#np.transpose(im) print im.shapeim = im.reshape(28,28)scipy.misc.imsave('outfile.jpg', im)#print( im )   fig = plt.figure()    plt.imshow(im,cmap = 'binary')#黑白显示    plt.show()    readImg=Image.open('outfile.jpg')readImg.show()arrImg = np.array(readImg)print 'ssst'print arrImg.shapeprint arrImg[5,:]"""

主要引用:

https://zhidao.baidu.com/question/393151515257923165.html
http://blog.csdn.net/panghaomingme/article/details/53466154

0 0
原创粉丝点击