语义分割数据增强代码

1.数据增强 

import os
import random
from PIL import Image
import torchvision.transforms as transforms
from tqdm import tqdm
import shutil
import torch
from to_pseudo import process_folder

# 自定义的转换函数
class RandomHorizontalFlipBoth:
    def __init__(self, p=0.5):
        self.transform = transforms.RandomHorizontalFlip(p)

    def __call__(self, img, mask):
        if random.random() < self.transform.p:
            return self.transform(img), self.transform(mask)
        else:
            return img, mask

class RandomVerticalFlipBoth:
    def __init__(self, p=0.5):
        self.transform = transforms.RandomVerticalFlip(p)

    def __call__(self, img, mask):
        if random.random() < self.transform.p:
            return self.transform(img), self.transform(mask)
        else:
            return img, mask

class RandomRotationBoth:
    def __init__(self, degrees, p=0.5):
        self.transform = transforms.RandomRotation(degrees)
        self.p = p

    def __call__(self, img, mask):
        if random.random() < self.p:
            return self.transform(img), self.transform(mask)
        else:
            return img, mask

class ColorJitterBoth:
    def __init__(self, brightness_range, contrast_range, saturation_range, hue_range, p=0.5):
        self.brightness_range = brightness_range
        self.contrast_range = contrast_range
        self.saturation_range = saturation_range
        self.hue_range = hue_range
        self.p = p

    def __call__(self, img, mask):
        if random.random() < self.p:
            brightness = random.uniform(*self.brightness_range)
            contrast = random.uniform(*self.contrast_range)
            saturation = random.uniform(*self.saturation_range)
            hue = random.uniform(*self.hue_range)
            if hue < -0.5:
                hue += 0.5
            elif hue > 0.5:
                hue -= 0.5
            transform = transforms.ColorJitter(brightness, contrast, saturation, hue)
            r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Git_SUXD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值