os.listdir(os.path.join(path, ‘images’)):
问题描述:
提示:这里描述项目中遇到的问题:
os.listdir()排序是随机的
rgb = []
deep = []
for i in os.listdir(os.path.join(path, 'images')):
for j in os.listdir(os.path.join(path, 'images', i)):
for k in os.listdir(os.path.join(path, 'images', i, j)):
if k.find('RGB.jpg') != -1:
img = Image.open(os.path.join(path, 'images', i, j, k))
img = img.resize((224, 224))
rgb.append(np.array(img))
elif k.find('Deep.jpg') != -1:
img = Image.open(os.path.join(path, 'images', i, j, k))
img = img.resize((224, 224))
img = np.array(img)
img = img[:, :, np.newaxis]
deep.append(img)
q_input = np.array(q_list)
a_output = np.array(a_list)
rgb_input = np.array(rgb)
deep_input = np.array(deep)
原因分析:
debug才发现。。。难受解决方案:
rgb = []
deep = []
path1 = os.listdir(os.path.join(path, 'images'))
path1.sort(key=lambda x:int(x.split('.')[0]))
for i in path1:
path2 = os.listdir(os.path.join(path, 'images', i))
path2.sort(key=lambda x:int(x.split('.')[0]))
for j in path2:
path3 = os.listdir(os.path.join(path, 'images', i, j))
for k in path3:
if k.find('RGB.jpg') != -1:
# img = Image.open(os.path.join(path, 'images', i, j, k))
# img = img.resize((224, 224))
#
# #img = np.array(img)
# img = np.asarray(img) / 255.0
# rgb.append(img)
pa = os.path.join(path, 'images', i, j, k)
img = image.load_img(pa, target_size=(224, 224))
img = image.img_to_array(img)
img = img / 255.0
rgb.append(img)
参考:https://blog.csdn.net/qq_41573001/article/details/108368942