ColorJitter in PyTorch (3)

Buy Me a Coffee

*Memos:

ColorJitter() can randomly change the brightness, contrast, saturation and hue of an image as shown below:

from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import ColorJitter

origin_data = OxfordIIITPet(
    root="data",
    transform=None
)

saturation1_1origin_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[1, 1])
)

saturation0_5_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[0, 5])
    # transform=ColorJitter(saturation=4) )

saturation0_1_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[0, 1])
)

saturation1_5_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[1, 5])
)

saturation08_08_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[0.8, 0.8])
)

saturation06_06_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[0.6, 0.6])
)

saturation04_04_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[0.4, 0.4])
)

saturation02_02_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[0.2, 0.2])
)

saturation0_0_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[0, 0])
)

saturation2_2_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[2, 2])
)

saturation4_4_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[4, 4])
)

saturation8_8_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[8, 8])
)

saturation16_16_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[16, 16])
)

saturation50_50_data = OxfordIIITPet(
    root="data",
    transform=ColorJitter(saturation=[50, 50])
)

import matplotlib.pyplot as plt

def show_images1(data, main_title=None):
    plt.figure(figsize=[10, 5])
    plt.suptitle(t=main_title, y=0.8, fontsize=14)
    for i, (im, _) in zip(range(1, 6), data):
        plt.subplot(1, 5, i)
        plt.imshow(X=im)
        plt.xticks(ticks=[])
        plt.yticks(ticks=[])
    plt.tight_layout()
    plt.show()

show_images1(data=origin_data, main_title="origin_data")
print()
show_images1(data=saturation1_1origin_data, 
             main_title="saturation1_1origin_data")
show_images1(data=saturation0_5_data, main_title="saturation0_5_data")
show_images1(data=saturation0_1_data, main_title="saturation0_1_data")
show_images1(data=saturation1_5_data, main_title="saturation1_5_data")
print()
show_images1(data=saturation1_1origin_data,
             main_title="saturation1_1origin_data")
show_images1(data=saturation08_08_data, main_title="saturation08_08_data")
show_images1(data=saturation06_06_data, main_title="saturation06_06_data")
show_images1(data=saturation04_04_data, main_title="saturation04_04_data")
show_images1(data=saturation02_02_data, main_title="saturation02_02_data")
show_images1(data=saturation0_0_data, main_title="saturation0_0_data")
print()
show_images1(data=saturation1_1origin_data,
             main_title="saturation1_1origin_data")
show_images1(data=saturation2_2_data, main_title="saturation2_2_data")
show_images1(data=saturation4_4_data, main_title="saturation4_4_data")
show_images1(data=saturation8_8_data, main_title="saturation8_8_data")
show_images1(data=saturation16_16_data, main_title="saturation16_16_data")
show_images1(data=saturation50_50_data, main_title="saturation50_50_data")

# ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ def show_images2(data, main_title=None, b=0, c=0, s=0, h=0):
    plt.figure(figsize=[10, 5])
    plt.suptitle(t=main_title, y=0.8, fontsize=14)
    for i, (im, _) in zip(range(1, 6), data):
        plt.subplot(1, 5, i)
        cj = ColorJitter(brightness=b, contrast=c, # Here                          saturation=s, hue=h)
        plt.imshow(X=cj(im)) # Here         plt.xticks(ticks=[])
        plt.yticks(ticks=[])
    plt.tight_layout()
    plt.show()

show_images2(data=origin_data, main_title="origin_data")
print()
show_images2(data=origin_data, main_title="saturation1_1origin_data", s=[1, 1])
show_images2(data=origin_data, main_title="saturation0_5_data", s=[0, 5])
# ↑ show_images2(data=origin_data, main_title="saturation4_data", s=4) show_images2(data=origin_data, main_title="saturation0_1_data", s=[0, 1])
show_images2(data=origin_data, main_title="saturation1_5_data", s=[1, 5])
print()
show_images2(data=origin_data, main_title="saturation1_1origin_data", s=[1, 1])
show_images2(data=origin_data, main_title="saturation08_08_data", s=[0.8, 0.8])
show_images2(data=origin_data, main_title="saturation06_06_data", s=[0.6, 0.6])
show_images2(data=origin_data, main_title="saturation04_04_data", s=[0.4, 0.4])
show_images2(data=origin_data, main_title="saturation02_02_data", s=[0.2, 0.2])
show_images2(data=origin_data, main_title="saturation0_0_data", s=[0, 0])
print()
show_images2(data=origin_data, main_title="saturation1_1origin_data", s=[1, 1])
show_images2(data=origin_data, main_title="saturation2_2_data", s=[2, 2])
show_images2(data=origin_data, main_title="saturation4_4_data", s=[4, 4])
show_images2(data=origin_data, main_title="saturation8_8_data", s=[8, 8])
show_images2(data=origin_data, main_title="saturation16_16_data", s=[16, 16])
show_images2(data=origin_data, main_title="saturation50_50_data", s=[50, 50])

Enter fullscreen mode Exit fullscreen mode




原文链接:ColorJitter in PyTorch (3)

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
Everyone there is a part of the living for others their own.
每个人都存在着那部分为别人而活的自己
评论 抢沙发

请登录后发表评论

    暂无评论内容