我正在尝试“蓝色化”将用于 PyTorch 应用程序 (AI) 的图像,该图像对于“更蓝”的图像效果更好。具体来说,我希望每个像素都是蓝色的。我将把代码放在一个类中,并将其放入 Transforms.Compose 中并将其传递给 torchvision.datasets。 ImageFolder 转换关键字参数。
我尝试使用PyTorch torchvision.transforms.functions(调整色调,调整饱和度,调整亮度)。然而,我总是得到不同颜色的图像(例如绿色和紫色、红色和蓝色)。我将把它们放在一个类中,我将把它放入 Transforms.Compose 中并将其传递给 torchvision.datasets.ImageFolder 变换关键字参数。
你能帮忙吗?
你必须将它与蓝色图像混合。
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()))
# ...