做语义分割,同时批量crop、合并图片和mask

该博客介绍了如何批量处理语义分割的原图和mask,进行指定大小的裁剪,对小于512像素的块进行丢弃以避免合并时的白缝问题。采用了overlap-tile策略进行数据增强,但注意到直接在模型中取样内存消耗大且速度慢,因此选择预先处理数据进行训练。作者希望得到深度学习领域的专家建议。
摘要由CSDN通过智能技术生成

参考了其他博主的代码进行修改

改为批量将分割的原图和mask同时裁剪为指定大小,
对于h和w小于512的块进行舍弃,所以之后直接合并时易出现白缝

合并的话把后半部分的注释取消,把分块部分注释即可

参照unet作者使用的overlap-tile策略,重叠分块数据更多,然后对模型在边缘信息的学习应该有所帮助
,但是直接在模型中取样很吃内存、而且很慢,所以我觉得直接分好再输入训练好一些,有大佬的话,请指点一下,代码在下一篇

import numpy as np
import cv2
import os
"""
输入:图片路径(path+filename),裁剪获得小图片的列数、行数(也即宽、高)
"""
def crop_one_picture(path,path_gt,filename,cols,rows):
    img = cv2.imread(path + filename,1)##读取彩色图像,图像的透明度(alpha通道)被忽略,默认参数;灰度图像;读取原始图像,包括alpha通道;可以用1,0,-1来表示
    img_gt = cv2.imread(path_gt + filename,0) #gt图片以原本通道读取
    

    sum_rows=img.shape[0]   #高度
    sum_cols=img.shape[1]    #宽度
    save_path = path+"crop{0}_{1}".format(cols,rows)  #保存的路径
    save_path_gt <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值