将图像设为蓝色 Pytorch

问题描述 投票:0回答:1

我正在尝试“蓝色化”将用于 PyTorch 应用程序 (AI) 的图像,该图像对于“更蓝”的图像效果更好。具体来说,我希望每个像素都是蓝色的。我将把代码放在一个类中,并将其放入 Transforms.Compose 中并将其传递给 torchvision.datasets。 ImageFolder 转换关键字参数。

我尝试使用PyTorch torchvision.transforms.functions(调整色调,调整饱和度,调整亮度)。然而,我总是得到不同颜色的图像(例如绿色和紫色、红色和蓝色)。我将把它们放在一个类中,我将把它放入 Transforms.Compose 中并将其传递给 torchvision.datasets.ImageFolder 变换关键字参数。

你能帮忙吗?

python image-processing pytorch color-space
1个回答
0
投票

你必须将它与蓝色图像混合。

from PIL import Image
import torch
import torchvision

class MakeBlue:
    def __init__(self):
        self.dark_blue = Image.new("RGB", (224, 224), "#0000ff")

    def __call__(self, image):
        try:
            image = torchvision.transforms.ToPILImage()(image)

        except TypeError:
            try:
                image = torchvision.transforms.ToPILImage()(image.byte())

            except Exception:
                pass

        image = image.resize((224, 224))
        image = image.convert("RGB")
        image = Image.blend(image, self.dark_blue, 0.6)
        return image

# ...
transformation = torchvision.transforms.Compose((MakeBlue(), torchvision.transforms.ToTensor()))
# ...
© www.soinside.com 2019 - 2024. All rights reserved.