数据前处理-更改多个文件夹图片名称

对父级目录下的子级目录包含的图片进行处理 可进行多个子级目录的处理 只需放入父级目录即可 

 


import os

import cv2


def Change_Image_Name(data_path,out_path):

    # 检测是否存在输出路径的文件夹 若无
    if not os.path.exists(out_path):
        # 则进行创建
        os.makedirs(out_path)

    # 字符后面开始的数值
    frame_number = 0
    
    # 遍历父级目录
    for i in os.listdir(data_path):
        # 得到每一个子级目录的路径
        image_folders = os.path.join(data_path,i)
       
        # 遍历每一个子级目录下的图片 
        for j in os.listdir(image_folders):
       
            # 打印每一个文件名称
            print(j)

            # 得到每一个文件的路径
            image_name = os.path.join(image_folders,j)

            # 读取每一个文件
            image = cv2.imread(image_name)

            # 每循环一次数值加一
            frame_number += 1

            """
            处理后的第一张图片名称为person0.png
            person -->  此处是自定义的名称
            png   -->  此处是自定义的图片类型 
            feame_number --> 经过上方定义的数值变换 每循环一次则加一 也可以自动去调节上方的数值 
            """
            # 进行保存                    名称     图片格式   从0-n
            cv2.imwrite(out_path + '/' + 'person%d.png' % frame_number, image)

        # 处理完成之后的提示
        print('finish')

if __name__ == '__main__':
    # 目标文件夹
    data_path = 'image'

    # 输出文件夹
    out_path = 'img_jsss'

    Change_Image_Name(data_path,out_path)

大家有新的需求可在评论区里留言 后续会根据大家新的需求进行持续更新 谢谢大家!!! 

你可能感兴趣的:(数据前处理,python,计算机视觉,opencv)