cifar10数据集使用python转换为图片以及分类保存

感想:网上查了一圈,准备想转换为图片,发现写的是什么玩意,保存图片都不是按照类别保存的,现在我详细说明一下。

下面解压后除了train全部是下载后解压的。最后保存在train文件夹下面

import os
# from scipy.misc import imsave
from imageio import imsave


def unpickle(file):
    import pickle
    with open(file, 'rb') as fo:
        dict = pickle.load(fo, encoding='bytes')
    return dict


filename = 'D:/cifar-10-python/cifar-10-batches-py-img/' #图片的路径
meta = unpickle(filename + '/batches.meta')
label_name = meta[b'label_names']

for i in range(len(label_name)):
    file = label_name[i].decode()
    path = 'D:/cifar-10-python/cifar-10-batches-py-img/train/' + file
    isExist = os.path.exists(path)
    if not isExist:
        os.makedirs(path)

for i in range(1, 6):
    content = unpickle(filename + '/data_batch_' + str(i)) #解压后的每个data_batch_ 
    print('load data...')
    print(content.keys())
    print('tranfering data_batch' + str(i))
    for j in range(10000):
        img = content[b'data'][j]
        img = img.reshape(3, 32, 32)
        img = img.transpose(1, 2, 0)
        img_name = 'D:/cifar-10-python/cifar-10-batches-py-img/train/' + label_name[content[b'labels'][j]].decode() + '/batch_' + str(i) + '_num_' + str(
            j) + '.jpg'
        imsave(img_name, img)

最后结果:

猜你喜欢

转载自blog.csdn.net/qq_41479464/article/details/112732538