深度学习样本规则裁剪(图片规则裁剪)

该代码是在处理DeepGlobe时所写,可灵活应用

deepglobe 数据训练图片和标签的大小都是1024×1024,而我们要处理成256×256;便可以使用下列代码。

def clip():

    imgpath = "Original training image path"
    labelpath = "Original label path"

    imgfile = os.listdir(imgpath)
    labelfile = os.listdir(labelpath)

    conut = len(imgfile)
    strip = np.int32(1024/256)  #256 随自己变动

    for i in range(conut):

        imgp = imgpath + "/" + imgfile[i]
        labelp = labelpath + "/" + labelfile[i]

        imgname = imgfile[i][0:-4]
        labelname = labelfile[i][0:-4]

        img = Image.open(imgp)
        label = Image.open(labelp)

        saveimg = "save image path" + imgname
        savelabel = "save label path" + labelname

        c = 0

        for j in range(strip):
            for n in range(strip):

                box = (256*j, 256*n, 256*(j+1), 256*(n+1))  #裁剪关键

                img2 = img.crop(box)
                label2 = label.crop(box)

                si = saveimg + " %d" % (c+1) + ".png"
                sl = savelabel + " %d " % (c+1) + ".png"

                img2.save(si)
                label2.save(sl)
                c = c + 1
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
您好!对于深度学习中的滑动窗口裁剪图像数据训练的问题,我可以给您一些指导。 滑动窗口裁剪是一种常用的数据增强技术,它可以扩充训练数据集,提高模型的鲁棒性和泛化能力。下面是一个基本的步骤: 1. 定义窗口大小:首先,您需要确定滑动窗口的大小。这通常取决于您希望检测或分类的对象的大小。 2. 滑动窗口操作:将窗口在图像上滑动,每次滑动一定的步长(stride)。可以从左上角开始,按照设定的步长水平和垂直方向滑动窗口,直到覆盖整个图像。 3. 裁剪图像:每次滑动窗口时,将窗口内的图像裁剪下来作为一个训练样本。这个裁剪下来的图像可以作为输入数据,与相应的标签一起进行训练。 4. 数据增强:除了裁剪图像外,您还可以应用其他数据增强技术,例如旋转、缩放、翻转等。这将进一步增加训练数据的多样性和鲁棒性。 5. 训练模型:使用裁剪和增强后的图像数据集来训练深度学习模型。您可以选择适合您任务的网络结构,并使用常规的训练方法,如随机梯度下降(SGD)或自适应优化器(如Adam)。 需要注意的是,滑动窗口裁剪可能会导致数据集中存在大量重叠的样本,这可能会影响模型的训练效果。为了解决这个问题,您可以采用非极大值抑制(NMS)等技术来合并相似的检测结果。 希望这些信息对您有帮助!如果您有任何其他问题,请随时提问。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值