UNET多分类dataset参考

该代码片段展示了如何使用OpenCV读取和处理图像,包括头尾掩码的创建、边缘填充以及转换为Tensor。同时涉及到数据增强技术在图像预处理中的应用。
摘要由CSDN通过智能技术生成
 try:
            head_mask_read = cv2.imread(head_mask,0)
            tail_mask_read = cv2.imread(tail_mask,0)
            img_read = cv2.imread(img)
            # top, bottom = 0, 28
            # left, right = 0, 16
            # mask_read = cv2.copyMakeBorder(mask_read, top, bottom, left, right, cv2.BORDER_CONSTANT, value=0)
            # # 对图像使用彩色图像 padding,这里假设原始图像是彩色的
            # img_read = cv2.copyMakeBorder(img_read, top, bottom, left, right, cv2.BORDER_CONSTANT, value=[0, 0, 0])


        except:
            img_read = np.zeros((900,1200,3))
            head_mask_read = np.zeros((900,1200,1))
            tail_mask_read = np.zeros((900,1200,1))

        head_mask = np.where(head_mask_read > 125,1, 0)
        tail_mask = np.where(tail_mask_read > 125,1, 0)
        tail_mask = np.where(head_mask == 1, 0, tail_mask)
        background = np.logical_not(head_mask | tail_mask)
        multi_mask = np.stack([head_mask, tail_mask, background], axis=0)
        # Convert to torch tensor
        multi_mask_tensor = torch.from_numpy(multi_mask).float()

        # if not self.is_val:
        #     sample = self.augmentation(image=img_read, mask=mask_read)
        #     img_read, mask_read = sample['image'], sample['mask']
            # cv2.imshow("img", img_read)
            # cv2.imshow("mask", mask_read)
            # cv2.waitKey(0)


        img = transforms1(img_read)
        mask = multi_mask_tensor
        return img,mask

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值