语义分割中的数据增强

目录

Augmentor安装

pip install Augmentor - https://pypi.douban.com/simple

使用Augmentor

注意:图片的名字一定要和掩码的名字相同(包括后缀名),否则不能对掩码增强,生成的增强图像和掩码图像都在Pipeline管道指定文件下的output文件夹下

import Augmentor


def augment_data():
	# 不需要读取图像,在管道中给定路径就行,增强的操作只需在管道添加
	p = Augmentor.Pipeline('./images')  # 真实图像的路径
	p.ground_truth('./labels')    # 掩码图像的路径 名字一定要相同,否则不能生成mask的增强

    # 图像旋转,按照0.5的概率,最大左旋转角度20,右旋转角度10
    # 左右的角度必须在25之内
    p.rotate(probability=.5, max_left_rotation=20, max_right_rotation=10)
    # 图像左右翻转
    p.flip_left_right(probability=0.5)
    # 图像放大缩小,按照概率为0.5,面积为原来的0.9倍
    p.zoom_random(probability=.5, percentage_area=0.9)
    # 裁剪
    p.crop_random(probability=.5, percentage_area=0.8)
    # 亮度
    p.random_brightness(probability=.2, min_factor=0.1, max_factor=0.9)

    # 最终扩充的样本数量
    p.sample(10)

将增强后的图像和掩码分开

import os


def split_image_mask():
    # 原始图像的文件夹
    orgin_dir = './augment_data/images' 
    # mask图像的文件夹
    mask_dir = './augment_data/labels'
    if not os.path.exists(orgin_dir):
        os.makedirs(orgin_dir)
    if not os.path.exists(mask_dir):
        os.makedirs(mask_dir)

    output_dir = './images/output' # 上面生成的增强图像都在这个目录下
    all_img_list = os.listdir(output_dir)
    count = 1
    for img_name in all_img_list:
        """找到对应的img和mask"""
        if img_name.startswith('_groundtruth_'):
            # 将掩码移到mask_dir文件夹下
            img_path = img_name.split('_', maxsplit=4)[-1]
            os.rename(os.path.join(output_dir, img_name), os.path.join(mask_dir, str(count) + '.jpg'))
            # 图像移动到orgin_dir下
            os.rename(os.path.join(output_dir, 'images_original_' + img_path),
                      os.path.join(orgin_dir, str(count) + '.jpg'))
            count += 1
  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值