机器学习图片分类数据集标签制作步骤
一、准备好数据集
在项目下添加datasets目录,e0和e1文件夹内分别是需要打上标签为0和1的图片。
二、打标签的代码
import os
def generate(dir, label):
files = os.listdir(dir) # os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。
files.sort() # 对文件或文件夹进行排序
print('****************')
print('input :', dir)
print('start...')
listText = open(r'D:\Code\pycharm\pytorch\makelabel\datasets\all_list.txt',
'a+') # 创建并打开一个txt文件,a+表示打开一个文件并追加内容
for file in files: # 遍历文件夹中的文件
fileType = os.path.split(file) # os.path.split()返回文件的路径和文件名,【0】为路径,【1】为文件名
if fileType[1] == '.txt': # 若文件名的后缀为txt,则继续遍历循环,否则退出循环
continue
name = folder + '/' + file + ' ' + str(int(label)) + '\n' # name 为文件路径和文件名+空格+label+换行
listText.write(name) # 在创建的txt文件中写入name
listText.close() # 关闭txt文件
print('down!')
print('****************')
outer_path = r'D:\Code\pycharm\pytorch\makelabel\datasets\images' # 这里是你的图片路径
if __name__ == '__main__': # 主函数
i = 0
folderlist = os.listdir(outer_path) # 列举文件夹
for folder in folderlist: # 遍历文件夹中的文件夹(若engagement文件夹中存在txt或py文件,则后面会报错)
generate(os.path.join(outer_path, folder), i) # 调用generate函数,函数中的参数为:(图片路径+文件夹名,标签号)
i += 1
其中all_list.txt文件不需要自己创建,会自动生成。
三、运行结果
第一列:文件夹/图片名 第二列:所属的类别
该文件的目录:D:\Code\pycharm\pytorch\makelabel\datasets\all_list.txt(在datasets下)