溫馨提示×

pytorch畫圖如何進行色彩調整

小樊
101
2024-12-25 15:44:22
欄目: 深度學習

在PyTorch中,可以使用matplotlib庫來繪制圖像并進行色彩調整。以下是一個簡單的示例,展示了如何使用matplotlib調整圖像的色彩平衡:

import torch
import matplotlib.pyplot as plt
from PIL import Image

# 加載圖像
image = Image.open('path/to/your/image.jpg')

# 將圖像轉換為PyTorch張量
image_tensor = torchvision.transforms.ToTensor()(image).unsqueeze(0)

# 定義色彩調整函數
def adjust_color(image_tensor, brightness=1.0, contrast=1.0, saturation=1.0, hue=0.0):
    # 將張量轉換為PIL圖像
    image = transforms.ToPILImage()(image_tensor)
    
    # 調整色彩平衡
    enhancer = ImageEnhance.Brightness(image)
    image = enhancer.enhance(brightness)
    
    enhancer = ImageEnhance.Contrast(image)
    image = enhancer.enhance(contrast)
    
    enhancer = ImageEnhance.Color(image)
    image = enhancer.enhance(saturation)
    
    enhancer = ImageEnhance.Hue(image)
    image = enhancer.enhance(hue)
    
    # 將PIL圖像轉換回PyTorch張量
    image_tensor = transforms.ToTensor()(image).unsqueeze(0)
    
    return image_tensor

# 調整色彩平衡
adjusted_image_tensor = adjust_color(image_tensor, brightness=1.2, contrast=0.8, saturation=1.5, hue=-0.1)

# 使用matplotlib顯示原始圖像和調整后的圖像
plt.figure(figsize=(10, 5))

plt.subplot(1, 2, 1)
plt.imshow(image_tensor[0].squeeze().permute(1, 2, 0))
plt.title('Original Image')
plt.axis('off')

plt.subplot(1, 2, 2)
plt.imshow(adjusted_image_tensor[0].squeeze().permute(1, 2, 0))
plt.title('Adjusted Image')
plt.axis('off')

plt.show()

在這個示例中,我們首先加載了一個圖像并將其轉換為PyTorch張量。然后,我們定義了一個名為adjust_color的函數,該函數接受一個圖像張量以及四個色彩調整參數(亮度、對比度、飽和度和色調)。在函數內部,我們將圖像轉換為PIL圖像,并使用ImageEnhance類來調整色彩平衡。最后,我們將調整后的PIL圖像轉換回PyTorch張量,并將其顯示出來。

請注意,這個示例使用了torchvision.transformsPIL.ImageEnhance庫來進行色彩調整。你可以根據需要修改這些庫以適應你的需求。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女