如何在PyTorch中调整图像对比度?


图像的对比度是指图像各个特征之间颜色差异的程度。要调整图像的对比度,我们使用 **adjust_contrast()** 函数。它是 **torchvision.transforms** 模块提供的功能转换之一。此模块包含许多重要的功能转换,可用于对图像数据进行不同类型的操作。

**adjust_contrast()** 转换接受 PIL 图像和张量图像。张量图像是一个形状为 **[C, H, W]** 的 PyTorch 张量,其中 **C** 是通道数,**H** 是图像高度,**W** 是图像宽度。此转换还接受一批张量图像,它是一个形状为 **[B, C, H, W]** 的张量,其中 **B** 是一批图像中的图像数量。如果图像既不是 PIL 图像也不是张量图像,则我们首先将其转换为张量图像,然后应用 **adjust_contrast()**。所有功能转换都可以从 **torchvision.transforms.functional** 访问。

语法

torchvision.transforms.functional.adjust_contrast(img, contrast_factor)

参数

  • **img** - 要调整对比度的图像。它是 PIL 图像或 torch 张量。可以是单个图像或一批图像。

  • **contrast_factor** - 一个非负数。0 给出一个纯灰色的图像,1 给出原始图像。

输出

它返回对比度已调整的图像。

步骤

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

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

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

img = Image.open('Nature_canada.jpg')
  • 使用所需的对比度因子调整图像的对比度。

img = F.adjust_contrast(img, 0.3)
  • 可视化对比度已调整的图像。

img.show()

输入图像

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

示例 1

在下面的 Python 程序中,我们使用 **contrast_factor=0.3** 调整输入图像的对比度。

# Import the required libraries
import torch
from PIL import Image
import torchvision.transforms.functional as F

# read the input image
img = Image.open('Nature_canada.jpg')

# adjust the contrast of the image
img = F.adjust_contrast(img, 0.3)

# display the contrast adjusted image
img.show()

输出

示例 2

在下面的 Python 程序中,我们使用 **contrast_factor=6.0** 调整输入图像的对比度。

import torch
from PIL import Image
import torchvision.transforms.functional as F

img = Image.open('Nature_canada.jpg')
img = F.adjust_contrast(img, 6)
img.show()

输出

更新于:2022年1月20日

浏览量 1K+

启动您的 职业生涯

完成课程获得认证

开始学习
广告