python将cifar-10二进制数据集转成jpg

注意

1.首先需要下载cifar10数据到本地cifar(下载python version)
在这里插入图片描述
2. 不知道为什么scipy.mise加载不出imsave,所以我换了一种方式
3. 使用代码的时候注意修改路径(/data2/ZYM/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 = 'cifar-10-batches-py'
meta = unpickle(filename+'/batches.meta')
label_name = meta[b'label_names']
   
for i in range(len(label_name)):   
    file = label_name[i].decode()
    path = '/data2/ZYM/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))
	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 = '/data2/ZYM/rain/'+label_name[content[b'labels'][j]].decode() + '/batch_' + str(i) + '_num_' + str(j) +'.jpg'
		imsave(img_name,img)

结果

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值