|
|
@@ -1,55 +0,0 @@ |
|
|
|
import cv2
|
|
|
|
import numpy as np
|
|
|
|
import pickle
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
|
|
# 解压缩,返回解压后的字典
|
|
|
|
def unpickle(file):
|
|
|
|
fo = open(file, 'rb')
|
|
|
|
dict = pickle.load(fo, encoding='latin1')
|
|
|
|
fo.close()
|
|
|
|
return dict
|
|
|
|
|
|
|
|
|
|
|
|
def cifar100_to_images():
|
|
|
|
tar_dir = '/root/DLG-FOR-Mindspore/data/cifar-100-python' # 原始数据库目录
|
|
|
|
train_root_dir = '/root/DLG-FOR-Mindspore/data/train' # 图片保存目录
|
|
|
|
test_root_dir = '/root/DLG-FOR-Mindspore/data/test'
|
|
|
|
if not os.path.exists(train_root_dir):
|
|
|
|
os.makedirs(train_root_dir)
|
|
|
|
if not os.path.exists(test_root_dir):
|
|
|
|
os.makedirs(test_root_dir)
|
|
|
|
|
|
|
|
# 获取label对应的class,分为20个coarse class,共100个 fine class
|
|
|
|
meta_Name = tar_dir + "meta"
|
|
|
|
Meta_dic = unpickle(meta_Name)
|
|
|
|
coarse_label_names = Meta_dic['coarse_label_names']
|
|
|
|
fine_label_names = Meta_dic['fine_label_names']
|
|
|
|
print(fine_label_names)
|
|
|
|
|
|
|
|
# 生成训练集图片
|
|
|
|
dataName = tar_dir + "train"
|
|
|
|
Xtr = unpickle(dataName)
|
|
|
|
print(dataName + " is loading...")
|
|
|
|
for i in range(0, Xtr['data'].shape[0]):
|
|
|
|
img = np.reshape(Xtr['data'][i], (3, 32, 32)) # Xtr['data']为图片二进制数据
|
|
|
|
img = img.transpose(1, 2, 0) # 读取image
|
|
|
|
###img_name:fine_label+coarse_label+fine_class+coarse_class+index
|
|
|
|
picName = train_root_dir + str(Xtr['fine_labels'][i]) + '_' + str(Xtr['coarse_labels'][i]) + '_&' + \
|
|
|
|
fine_label_names[Xtr['fine_labels'][i]] + '&_' + coarse_label_names[
|
|
|
|
Xtr['coarse_labels'][i]] + '_' + str(i) + '.jpg'
|
|
|
|
cv2.imwrite(picName, img)
|
|
|
|
print(dataName + " loaded.")
|
|
|
|
|
|
|
|
print("test_batch is loading...")
|
|
|
|
# 生成测试集图片
|
|
|
|
testXtr = unpickle(tar_dir + "test")
|
|
|
|
for i in range(0, testXtr['data'].shape[0]):
|
|
|
|
img = np.reshape(testXtr['data'][i], (3, 32, 32))
|
|
|
|
img = img.transpose(1, 2, 0)
|
|
|
|
picName = test_root_dir + str(testXtr['fine_labels'][i]) + '_' + str(testXtr['coarse_labels'][i]) + '_&' + \
|
|
|
|
fine_label_names[testXtr['fine_labels'][i]] + '&_' + coarse_label_names[
|
|
|
|
testXtr['coarse_labels'][i]] + '_' + str(i) + '.jpg'
|
|
|
|
cv2.imwrite(picName, img)
|
|
|
|
print("test_batch loaded.") |