基于Augmentor对image,label进行相同操作并统一重命名

import Augmentor
import os


def reName(dirname, new_path):
    count = 0
    for cur_file in os.listdir(dirname):
        count += 1
        oldDir = os.path.join(dirname, cur_file)  # 旧文件
        filetype = os.path.splitext(cur_file)[1]  # 文件类型
        newDir = os.path.join(new_path, str(count) + filetype)  # 新文件
        os.rename(oldDir, newDir)
        print(oldDir, newDir)


def mkdir(path):
    folder = os.path.exists(path)
    if not folder:  # 判断是否存在文件夹如果不存在则创建为文件夹
        os.makedirs(path)  # makedirs 创建文件时如果路径不存在会创建这个路径


def datastrength(data_path):
    p = Augmentor.Pipeline(data_path)  # 生成输出的路径,在./test/output下,output文件夹自动生成
    # p.rotate90(probability=1)  # 逆时针随机旋转90度(随机概率可自行设定)
    # p.rotate270(probability=1)  # 顺时针随机旋转90度(随机概率可自行设定)
    # p.rotate(probability=1, max_left_rotation=25, max_right_rotation=10)  # 不固定角度微小旋转:比如向左最大旋转25度,向右最大旋转10度(备注:旋转最大角度范围是0-25度)
    p.skew_tilt(probability=1, magnitude=1)  # 透视形变-垂直方向形变:magnitude取(0,1),指的是形变程度
    # p.skew_corner(probability=1, magnitude=1)  # 透视形变-斜四角形变形变:magnitude取(0,1),指的是形变程度
    # p.random_distortion(probability=1, grid_height=5, grid_width=16, magnitude=8)  # 弹性扭曲,类似区域扭曲的感觉
    # p.shear(probability=1, max_shear_left=15, max_shear_right=15)  # 错切变换
    # p.random_erasing(probability=1, rectangle_area=0.5)  # 随机区域擦除
    p.sample(2)  # 生成n张这样操作的图片


if __name__ == "__main__":
    # image
    imagedata_path = r'./image'
    datastrength(imagedata_path)
    path = imagedata_path + '/output'
    new_path = imagedata_path + '/strength'
    mkdir(new_path)
    reName(path, new_path)
    # label
    imagedata_path = r'./label'
    datastrength(imagedata_path)
    path = imagedata_path + '/output'
    new_path = imagedata_path + '/strength'
    mkdir(new_path)
    reName(path, new_path)

你可能感兴趣的:(深度学习,python,os)