tensorflow 如何在图像及其相应的蒙版上执行相同的裁剪增强?

qacovj5a  于 2022-11-25  发布在  其他
关注(0)|答案(1)|浏览(161)

我的代码是:

randomScale = random.uniform(0.08, 1.0)
        CPtransform = transforms.RandomResizedCrop((self.height, self.width), scale=(randomScale, randomScale), ratio=(1,1), interpolation=2)
        toImage = T.ToPILImage()
        padImage= CPtransform(toImage(image).convert("L"))
        padMask = CPtransform(toImage(mask).convert("L"))
        return TF.to_tensor(padImage), TF.to_tensor(padMask)

但是,在增强后的图像中,掩模并不像图中所示的那样对应,我对它们使用的函数都是相同的,但结果是不同的。

有人能帮忙吗?谢谢!

crcmnpdw

crcmnpdw1#

你可以将concat图像和遮罩转换成单个Tensor并进行变换。

image = T.PILToTensor()(pil_image)
mask = T.PILToTensor()(pil_mask)

# concatenate the images and apply transform:
both_images = torch.cat((image, mask),0)

# Apply the transformations to both images simultaneously
transformed_images = CPtransform(both_images)

#get transformed image and mask separately
image_trans = transformed_images[:image.shape[0]]
mask_trans = transformed_images[image.shape[0]:]

相关问题