import sys
import os
import random
data_base_dir = r"E:\DATA\UCMerced_LandUse-2\images"
file_list = []
write_file_name = r"E:\DATA\UCMerced_LandUse-2\label.txt"
f=open(write_file_name, 'w')
i=0
for file in os.listdir(data_base_dir):
name =data_base_dir+'\\'+ file
for img_name in os.listdir(name):
label=file+'/'+img_name+' '+str(i)+'\n'
f.write(label)
i=i+1
f.close()
2.将图片保存为imdb格式
import sys
import numpy as np
import cv2
import os
import numpy.random as npr
import _pickle as pickle
import matplotlib.pyplot as plt
folder_name= r"E:/DATA/UCMerced_LandUse-2/images/"
with open(r"E:\DATA\UCMerced_LandUse-2\label.txt", 'r') as f:
txt_list = f.readlines()
num = len(txt_list)
name=[]
label=[]
label_list=[]
print ("{:d} image in total".format(num))
i=1
for iline, line in enumerate(txt_list):
line_split=line.split()
name=folder_name+line_split[0]
label=str(line_split[1])
im=cv2.imread(name)
im=cv2.resize(im,(256,256),interpolation=cv2.INTER_CUBIC)
label_list.append([im, label])
print("{:d} processed image done".format(i))
i=i+1
fid = open("E:/DATA/UCMerced_LandUse-2/train.imdb",'wb')
pickle.dump(label_list, fid)
fid.close()