如何在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()