语义分割数据集和标签同时增强并最后进行重命名

一、先进行数据增强(在增强前确保图像和标签均为png格式),代码如下

import Augmentor

# 确定原始图像存储路径以及掩码文件存储路径,需要把“\”改成“/”
p = Augmentor.Pipeline(r"C:\Users\liunian\Desktop\My Data\3")
p.ground_truth(r"C:\Users\liunian\Desktop\My Data\5")

# 图像旋转: 按照概率0.8执行,范围在0-25之间
p.rotate(probability=0.8, max_left_rotation=25, max_right_rotation=25)

# 图像左右互换: 按照概率0.5执行
p.flip_left_right(probability=0.5)
p.flip_top_bottom(probability=0.5)

# 图像放大缩小: 按照概率0.8执行,面积为原始图0.85倍
p.zoom_random(probability=0.3, percentage_area=0.85)

# scale_factor表示缩放比例,只能大于1,且为等比放大。
p.scale(probability=1, scale_factor=1.3)

# 小块变形
p.random_distortion(probability=0.8, grid_width=10, grid_height=10, magnitude=20)

# 随机亮度增强/减弱,min_factor, max_factor为变化因子,决定亮度变化的程度,可根据效果指定
p.random_brightness(probability=1, min_factor=0.4, max_factor=1.2)

# 随机颜色/对比度增强/减弱
# p.random_color(probability=1, min_factor=0.0, max_factor=1)
p.random_contrast(probability=1, min_factor=0.5, max_factor=1.2)



# 随机翻转(flip_random)
p.flip_random(probability=1)

# 最终扩充的数据样本数可以更换为100。1000等
p.sample(2500)

二、进行同时编号,由于生成的标签和原图略有不同,需要进行处理
话不多说,直接上代码,其中:

image_folder = r'数据增强的图像位置'
label_folder = r'数据增强后的标签位置'(记得先将标签转回png格式)

import os
import re


def rename_files(image_folder, label_folder, start_num=1):
    # 获取图像文件名列表
    image_files = os.listdir(image_folder)
    # 获取标签文件名列表
    label_files = os.listdir(label_folder)

    # 按照数字排序文件名
    image_files.sort(key=lambda x: int(re.search(r'\d+', x).group()))
    label_files.sort(key=lambda x: int(re.search(r'\d+', x).group()))

    # 为图像和标签文件设置新的名称
    for i, (image_file, label_file) in enumerate(zip(image_files, label_files), start=start_num):
        new_image_name = f'{i:04d}.jpg'
        new_label_name = f'{i:04d}.png'

        # 构建完整的文件路径
        old_image_path = os.path.join(image_folder, image_file)
        new_image_path = os.path.join(image_folder, new_image_name)
        old_label_path = os.path.join(label_folder, label_file)
        new_label_path = os.path.join(label_folder, new_label_name)

        # 重命名图像文件
        os.rename(old_image_path, new_image_path)
        # 重命名标签文件
        os.rename(old_label_path, new_label_path)


# 设置图像和标签文件夹路径
image_folder = r'C:\Users\liunian\Desktop\My Data\6'
label_folder = r'C:\Users\liunian\Desktop\My Data\2'

# 调用函数
rename_files(image_folder, label_folder, start_num=1)

如果对你有帮助的话,给点个赞吧,谢谢大家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值