برنامه نویسی

RandomAdjustsharpness در Pytorch – جامعه dev

RandomAdjustSharpness () می تواند به طور تصادفی یک تصویر را با یک احتمال خاص مطابق شکل زیر تیز یا تار کند:

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

ras = RandomAdjustSharpness(sharpness_factor=100)
ras = RandomAdjustSharpness(sharpness_factor=100, p=0.5)

ras
# RandomAdjustSharpness(p=0.5, sharpness_factor=100)

ras.sharpness_factor
# 100

ras.p
# 0.5

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

sf1p1origin_data = OxfordIIITPet( # `sf` is sharpness_factor.
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=1, p=1)
)

sf2p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=2, p=1)
)

sf3p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=3, p=1)
)

sf4p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=4, p=1)
)

sf5p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=5, p=1)
)

sf10p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=10, p=1)
)

sf25p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=25, p=1)
)

sf50p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=50, p=1)
)

sf100p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=100, p=1)
)

sf1000p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=1000, p=1)
)

sf0p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=0, p=1)
)

sfn1p1_data = OxfordIIITPet( # `n` is negative.
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=-1, p=1)
)

sfn2p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=-2, p=1)
)

sfn3p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=-3, p=1)
)

sfn4p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=-4, p=1)
)

sfn5p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=-5, p=1)
)

sfn10p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=-10, p=1)
)

sfn25p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=-25, p=1)
)

sfn50p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=-50, p=1)
)

sfn100p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=-100, p=1)
)

sfn1000p1_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=-1000, p=1)
)

sf100p0_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=100, p=0)
)

sf100p05_data = OxfordIIITPet(
    root="data",
    transform=RandomAdjustSharpness(sharpness_factor=100, p=0.5)
    # transform=RandomAdjustSharpness(sharpness_factor=100)
)

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=sf1p1origin_data, main_title="sf1p1origin_data")
show_images1(data=sf2p1_data, main_title="sf2p1_data")
show_images1(data=sf3p1_data, main_title="sf3p1_data")
show_images1(data=sf4p1_data, main_title="sf4p1_data")
show_images1(data=sf5p1_data, main_title="sf5p1_data")
show_images1(data=sf10p1_data, main_title="sf10p1_data")
show_images1(data=sf25p1_data, main_title="sf25p1_data")
show_images1(data=sf50p1_data, main_title="sf50p1_data")
show_images1(data=sf100p1_data, main_title="sf100p1_data")
show_images1(data=sf1000p1_data, main_title="sf1000p1_data")
print()
show_images1(data=sf1p1origin_data, main_title="sf1p1origin_data")
show_images1(data=sf0p1_data, main_title="sf0p1_data")
show_images1(data=sfn1p1_data, main_title="sfn1p1_data")
show_images1(data=sfn2p1_data, main_title="sfn2p1_data")
show_images1(data=sfn3p1_data, main_title="sfn3p1_data")
show_images1(data=sfn4p1_data, main_title="sfn4p1_data")
show_images1(data=sfn5p1_data, main_title="sfn5p1_data")
show_images1(data=sfn10p1_data, main_title="sfn10p1_data")
show_images1(data=sfn25p1_data, main_title="sfn25p1_data")
show_images1(data=sfn50p1_data, main_title="sfn50p1_data")
show_images1(data=sfn100p1_data, main_title="sfn100p1_data")
show_images1(data=sfn1000p1_data, main_title="sfn1000p1_data")
print()
show_images1(data=sf100p0_data, main_title="sf100p0_data")
show_images1(data=sf100p0_data, main_title="sf100p0_data")
show_images1(data=sf100p0_data, main_title="sf100p0_data")
print()
show_images1(data=sf100p05_data, main_title="sf100p05_data")
show_images1(data=sf100p05_data, main_title="sf100p05_data")
show_images1(data=sf100p05_data, main_title="sf100p05_data")
print()
show_images1(data=sf100p1_data, main_title="sf100p1_data")
show_images1(data=sf100p1_data, main_title="sf100p1_data")
show_images1(data=sf100p1_data, main_title="sf100p1_data")

# ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
def show_images2(data, main_title=None, sf=None, prob=0):
    plt.figure(figsize=[10, 5])
    plt.suptitle(t=main_title, y=0.8, fontsize=14)
    if sf != None:
        for i, (im, _) in zip(range(1, 6), data):
            plt.subplot(1, 5, i)
            rs = RandomAdjustSharpness(sharpness_factor=sf, p=prob)
            plt.imshow(X=rs(im))
            plt.xticks(ticks=[])
            plt.yticks(ticks=[])
    else:
        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_images2(data=origin_data, main_title="origin_data")
print()
show_images2(data=origin_data, main_title="sf1p1origin_data", sf=1, prob=1)
show_images2(data=origin_data, main_title="sf2p1_data", sf=2, prob=1)
show_images2(data=origin_data, main_title="sf3p1_data", sf=3, prob=1)
show_images2(data=origin_data, main_title="sf4p1_data", sf=4, prob=1)
show_images2(data=origin_data, main_title="sf5p1_data", sf=5, prob=1)
show_images2(data=origin_data, main_title="sf10p1_data", sf=10, prob=1)
show_images2(data=origin_data, main_title="sf25p1_data", sf=25, prob=1)
show_images2(data=origin_data, main_title="sf50p1_data", sf=50, prob=1)
show_images2(data=origin_data, main_title="sf100p1_data", sf=100, prob=1)
show_images2(data=origin_data, main_title="sf1000p1_data", sf=1000, prob=1)
print()
show_images2(data=origin_data, main_title="sf1p1origin_data", sf=1, prob=1)
show_images2(data=origin_data, main_title="sf0p1_data", sf=0, prob=1)
show_images2(data=origin_data, main_title="sfn1p1_data", sf=-1, prob=1)
show_images2(data=origin_data, main_title="sfn2p1_data", sf=-2, prob=1)
show_images2(data=origin_data, main_title="sfn3p1_data", sf=-3, prob=1)
show_images2(data=origin_data, main_title="sfn4p1_data", sf=-4, prob=1)
show_images2(data=origin_data, main_title="sfn5p1_data", sf=-5, prob=1)
show_images2(data=origin_data, main_title="sfn10p1_data", sf=-10, prob=1)
show_images2(data=origin_data, main_title="sfn25p1_data", sf=-25, prob=1)
show_images2(data=origin_data, main_title="sfn50p1_data", sf=-50, prob=1)
show_images2(data=origin_data, main_title="sfn100p1_data", sf=-100, prob=1)
show_images2(data=origin_data, main_title="sfn1000p1_data", sf=-1000, prob=1)
print()
show_images2(data=origin_data, main_title="sf100p0_data", sf=100, prob=0)
show_images2(data=origin_data, main_title="sf100p0_data", sf=100, prob=0)
show_images2(data=origin_data, main_title="sf100p0_data", sf=100, prob=0)
print()
show_images2(data=origin_data, main_title="sf100p05_data", sf=100, prob=0.5)
show_images2(data=origin_data, main_title="sf100p05_data", sf=100, prob=0.5)
show_images2(data=origin_data, main_title="sf100p05_data", sf=100, prob=0.5)
print()
show_images2(data=origin_data, main_title="sf100p1_data", sf=100, prob=1)
show_images2(data=origin_data, main_title="sf100p1_data", sf=100, prob=1)
show_images2(data=origin_data, main_title="sf100p1_data", sf=100, prob=1)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا