深度学习图片预处理阶段

img


应该如何把左边的图片名称根据对应的右侧编号改为STAR或者GALAXY,可以用python或者其他方法做到吗,求解决方法

1.读左边图片的名字,picture_list = os.listdir(path),列出文件夹内所有文件名称
2.读右边txt文件的内容;numpy.loadtxt(),加载txt文件内容
3.循环起,根据图片编号对应,一旦对应上,重命名图片的名称为:编号_Class; 函数os.rename()
4.重复3,直到所有的图片完成。

1.读左边图片的名字,
2.读右边txt文件的内容;
3.循环起,根据图片编号对应,一旦对应上,重命名图片的名称为:编号_Class;
4.重复3,直到所有的图片完成。


import csv
import os
import shutil

if 'res' not in os.listdir():
    os.mkdir('res')


def read_csv(file_path: str) -> dict:
    """
    :param file_path:
    :return:
    """
    json = {}
    with open(file_path, 'r') as f:
        read = csv.reader(f)
        for i in read:
            if len(i[0]) < 7:
                continue
            else:
                json[i[0]] = i[1]
        return json


def change_image_name(image_dir_path: str, target_name: dict, target_path: str) -> None:
    """
    :param image_dir_path:
    :param target_name:
    :param target_path:
    :return:
    """
    image_arr = os.listdir(image_dir_path)
    for i in image_arr:
        try:
            name = i.split('.')[0]
            image_type = i.split('.')[-1]
            path = image_dir_path + '\\' + i
            new_path = target_path + '\\' + name + target_name[name] + '.' + image_type
            shutil.copy(path, new_path)
            print(name, 'over!')
        except:
            print(i, "not exist")


if __name__ == '__main__':
    title_arr = read_csv('./data.csv')
    change_image_name(image_dir_path='./image', target_name=title_arr, target_path='./res')

img

img

img

img

不知道你具体要怎么改,我就在图片名字后面加了那个种类的名字,默认生成一个res文件夹