使图像为蓝色Pytorch

2w2cym1i  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(157)

我正在尝试“blueify”一个图像,我将用于PyTorch应用程序(AI),它与“更蓝”的图像一起工作得更好。具体来说,我希望每个像素都是蓝色的。我将把代码放在一个类中,我将把它放在一个transforms中。合成并将其传递给torchvision.toets.ImageFolder transform关键字参数。
我尝试使用PyTorch的torchvision.transforms.函数(adjust_hue,adjust_saturation,adjust_brightness)。然而,我总是得到不同颜色的图像(例如绿色和紫色,红色和蓝色)。我将把它们放在一个类中,我将把它们放在transforms.Compose for中并将其传递给torchvision.datasets.ImageFolder transform关键字参数。
你能帮帮忙吗?

zed5wv10

zed5wv101#

你得把它和蓝色的图像混合起来。

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()))
# ...

字符串

相关问题