最近需要对mnist图片进行处理,但是mnist数据集似乎都已经封装好了,我分享一下我怎么解析生jpg图片的,
我的环境是:
Keras 2.3.0
Keras-Applications 1.0.8
Keras-Preprocessing 1.1.2
下面是代码:
import keras
from keras.datasets import mnist
import numpy as np
from PIL import Image, ImageOps
import os
def save_image(filename, data_array):
im = Image.fromarray(data_array.astype('uint8'))
im_invert = ImageOps.invert(im)
im_invert.save(filename)
# Load MNIST Data
(x_train, y_train), (x_test, y_test) = mnist.load_data()
DIR_NAME = "mnist_images"
if os.path.exists(DIR_NAME) == False:
os.mkdir(DIR_NAME)
# Save Images
i = 0
for data_x,data_y in [[x_train,y_train], [x_test,y_test]]:
print("[---------------------------------------------------------------]")
for x,y in zip(data_x,data_y):
file_path=os.path.join(DIR_NAME,str(y))
os.makedirs(file_path,exist_ok=True)
filename = "{0}/{1:05d}.jpg".format(file_path,i)
print(filename)
save_image(filename, x)
i += 1
然后就会在本地生成mnist图片格式的数据集了哈。