# coding=utf-8
import os
from xlwt import * # 操作excel模块
#将当前文件夹中的所有名称写到excel中
file=Workbook(encoding='utf-8')
table=file.add_sheet('imageName')
path1='E:/datasets/classify/'
imagepath=path1+'train'
i=0
for dirName, subDirList, fileList in os.walk(imagepath):
for sub in range(len(subDirList)):
image_sub_path=dirName+'/'+subDirList[sub]
label_sub_path=dirName+'_label/'+subDirList[sub]
for file_name in os.listdir(image_sub_path):
image_full_name=image_sub_path+'/'+file_name
label_full_name=label_sub_path+'/'+file_name
table.write(i, 0, image_full_name)
table.write(i, 1, label_full_name)
i = i + 1
file.save('./test.xls')
将文件image名和label名,都写入到excel文件中。文件的够成如下:
其中train和train_label下的构成如下:
每个文件夹下存储的都是图像,如下:
运行程序生成的excel表格如下:
方式二:使用pd转成.csv格式代码
此代码用于在有监督训练过程中(分割任务中),进行label和image图像的获取(先生成list,然后读取对应的图像)。
# coding=utf-8
import os
import pandas as pd
path1=os.getcwd()
images_path='dataset/fsnet_06/train/images'
labels_path='dataset/fsnet_06/train/labels'
Image_pathDir = os.listdir(images_path)
label_pathDir = os.listdir(labels_path)
image_P = []
label_P = []
for num in range(len(Image_pathDir)):
image_path = os.path.join(images_path, Image_pathDir[num])
label_path = os.path.join(labels_path, Image_pathDir[num])
image_P.append(image_path)
label_P.append(label_path)
df = pd.DataFrame({'image': image_P, 'label': label_P})
df.to_csv('./dataset/fsnet_06/train/list.csv', index=False)
运行结果如下图: