import cv2
import numpy as np
file = 'data_batch_1'
def unpickle(file):
import pickle
with open(file, 'rb') as fo:
dict = pickle.load(fo,encoding='latin1')
return dict
dict1 = unpickle(file)
for i in range(1000):#我只保存的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("./p/"+img_label+"_"+img_name,img)#保存
python:cifar10的data_batch_1提取为png图片
最新推荐文章于 2023-06-01 22:08:36 发布