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

廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP