如何在 PyTorch 中调整图像的饱和度?


图像的饱和度指的是颜色的强度。颜色的饱和度越高,颜色就越鲜艳;颜色的饱和度越低,颜色就越接近灰色。

要调整图像的饱和度,我们使用 **adjust_saturation()** 函数。它是 **torchvision.transforms** 模块提供的功能转换之一。**adjust_saturation()** 转换同时接受 PIL 图像和张量图像。张量图像是形状为 **[C, H, W]** 的 PyTorch 张量,其中 **C** 是通道数,**H** 是图像高度,**W** 是图像宽度。

此转换也接受一批张量图像。如果图像既不是 PIL 图像也不是张量图像,则我们首先将其转换为张量图像,然后应用 **adjust_saturation()**。饱和度值应为非负数。

语法

torchvision.transforms.functional.adjust_saturation(img, saturation_factor)

参数

  • **img** - 需要调整饱和度的图像。它是 PIL 图像或 PyTorch 张量。可以是单个图像或一批图像。

  • **hue_factor** - 一个非负数。0 将生成黑白图像,而 1 将生成原始图像。

输出

它返回饱和度已调整的图像。

步骤

要调整图像的饱和度,可以按照以下步骤操作:

  • 导入所需的库。在以下所有示例中,所需的 Python 库为 **torch、Pillow** 和 **torchvision**。确保你已安装它们。

import torch
import torchvision
import torchvision.transforms.functional as F
from PIL import Image
  • 读取输入图像。输入图像是 PIL 图像或 PyTorch 张量。

img = Image.open('panda.jpg')
  • 使用所需的饱和度因子调整图像的饱和度。

img = F.adjust_saturation(img, 5)
  • 可视化饱和度已调整的图像。

img.show()

输入图像

我们将在以下示例中使用此图像作为输入文件。

示例 1

在这个程序中,我们使用 **saturation_factor=5** 调整输入图像的饱和度。

import torch
import torchvision
import torchvision.transforms as T
import torchvision.transforms.functional as F
from torchvision.io import read_image

# read input image
img = read_image('panda.jpg')

# adjust saturation
img1 = F.adjust_saturation(img, 5)

# convert img1 to PIL image
img1 = T.ToPILImage()(img1)

# display the PIL image
img1.show()

输出

示例 2

在这个程序中,我们使用不同的 **saturation_factor** 调整输入图像的饱和度。

import torch
import torchvision
import torchvision.transforms as T
import torchvision.transforms.functional as F
from torchvision.io import read_image
from torchvision.utils import make_grid

# read input image
img = read_image('panda.jpg')

# adjust saturation
img1 = F.adjust_saturation(img, 0)
img2 = F.adjust_saturation(img, 0.5)
img3 = F.adjust_saturation(img, 1)
img4 = F.adjust_saturation(img, 4)

# make image grid
grid_img = make_grid([img1, img2, img3, img4], nrow=2)

# convert the tensor image to PIL image
grid_pil = T.ToPILImage()(grid_img)

# display the PIL image grid
grid_pil.show()

输出

更新于:2022年1月20日

1K+ 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告