最近一直在弄如何将自己的数据做成google提供MNIST数据格式,用于test。但是一直还没搞出结果,而本文我想介绍一下如何将google提供的MNIST数据转化为可视化的图片。
google提供的MNIST数据是压缩包,但是解压出来发现不是想要的结果,竟然是二进制文件,如何将这些二进制文件转换成图片呢,本文将给出具体的代码。
利用python将影像读取出来。
#get the images and labels mnist
#-*- coding: utf-8 -*-
from PIL import Image
import struct
def read_image(filename,file_path):
f = open(filename, 'rb')
index = 0
buf = f.read()
print buf
f.close()
magic, images, rows, columns = struct.unpack_from('>IIII' , buf , index)
index += struct.calcsize('>IIII')
for i in xrange(images):
image = Image.new('L', (columns, rows))
for x in xrange(rows):
for y in xrange(columns):
image.putpixel((y, x), int(struct.unpack_from('>B', buf, index)[0]))