(语义分割数据增强)data与label同时随机裁剪

在语义分割任务中,由于标注难度比较大,数据集有限的情况下,我们常常使用数据增强技术对已有的数据进行出来。尤其在语义分割任务中需要对图片还有label同时进行裁剪。下面就简单介绍一下如何实现对数据和label的同时裁剪:

import os
import torch
import numpy as np
from torch.autograd import Variable
from torch import nn
import torch.nn.functional as F
from torch.utils.data import Dataset, DataLoader
from PIL import Image,ImageFilter,ImageDraw
from torchvision import transforms as tfs
from datetime import datetime
import matplotlib.pyplot as plt
from tqdm import tqdm
import random

#crop size
img_w = 256  
img_h = 256
#crop function
def rand_crop(data,label):
   
    width1 = random.randint(0, data.size[0] - img_w )
    height1 = random.randint(0, data.size[1] - img_h)
    width2 = width1 + img_w
    height2 = height1 + img_h 
            
    data=data.crop((width1, height1, width2, height2))
    label=label.crop((width1, height1, width2, height2))

    return data,label

 裁剪结果:

可以看到裁剪的data与label实现了同步,这正是我们要的结果!

 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值