自己亲测,转换一部分,可以使用
import cv2 import numpy as np
file = 'data_batch_2'
官方给的示例:
def unpickle(file): import cPickle with open(file, 'rb') as fo: dict = cPickle.load(fo) return dict
得到数据字典
dict1 = unpickle(file) for i in range(100):#我只保存的100张 img = dict1["data"][i]#得到图片的数据 img = np.reshape(img, (3, 32,32)) #转为三维图片数组 img = img.transpose((1,2,0))#通道转换为CV2的要求形式 img_name = dict1["filenames"][i]#拿到图片的名字 img_label = str(dict1["labels"][i])#拿到图片的标签 cv2.imwrite("/home/user/3/"+img_label+"_"+img_name,img)#保存