*Memos:
- My post explains RandomAffine() about
degrees
,translate
,fill
andcenter
argument. - My post explains RandomAffine() about
shear
argument (1). - My post explains RandomAffine() about
shear
argument (2). - My post explains RandomAffine() about
shear
argument (3). - My post explains RandomAffine() about
shear
argument (4).
RandomAffine() can do random rotation or random affine transformation for an image as shown below. *It's about scale
argument:
from torchvision.datasets import OxfordIIITPet from torchvision.transforms.v2 import RandomAffine from torchvision.transforms.functional import InterpolationMode origin_data = OxfordIIITPet( root="data", transform=None ) scale1_1origin_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[1, 1]) ) scale01_5_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.1, 5]) ) scale01_1_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.1, 1]) ) scale1_5_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[1, 5]) ) scale09_09_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.9, 0.9]) ) scale08_08_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.8, 0.8]) ) scale07_07_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.7, 0.7]) ) scale06_06_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.6, 0.6]) ) scale05_05_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.5, 0.5]) ) scale04_04_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.4, 0.4]) ) scale03_03_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.3, 0.3]) ) scale02_02_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.2, 0.2]) ) scale01_01_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.1, 0.1]) ) scale001_001_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.01, 0.01]) ) scale0001_0001_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[0.001, 0.001]) ) scale2_2_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[2, 2]) ) scale3_3_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[3, 3]) ) scale4_4_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[4, 4]) ) scale5_5_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[5, 5]) ) scale7_7_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[7, 7]) ) scale10_10_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[10, 10]) ) scale15_15_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[15, 15]) ) scale25_25_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[25, 25]) ) scale50_50_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[50, 50]) ) scale100_100_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[100, 100]) ) scale300_300_data = OxfordIIITPet( root="data", transform=RandomAffine(degrees=[0, 0], scale=[300, 300]) ) 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=scale1_1origin_data, main_title="scale1_1origin_data") show_images1(data=scale01_5_data, main_title="scale01_5_data") show_images1(data=scale01_1_data, main_title="scale01_1_data") show_images1(data=scale1_5_data, main_title="scale1_5_data") print() show_images1(data=scale1_1origin_data, main_title="scale1_1origin_data") show_images1(data=scale09_09_data, main_title="scale09_09_data") show_images1(data=scale08_08_data, main_title="scale08_08_data") show_images1(data=scale07_07_data, main_title="scale07_07_data") show_images1(data=scale06_06_data, main_title="scale06_06_data") show_images1(data=scale05_05_data, main_title="scale05_05_data") show_images1(data=scale04_04_data, main_title="scale04_04_data") show_images1(data=scale03_03_data, main_title="scale03_03_data") show_images1(data=scale02_02_data, main_title="scale02_02_data") show_images1(data=scale01_01_data, main_title="scale01_01_data") show_images1(data=scale001_001_data, main_title="scale001_001_data") show_images1(data=scale0001_0001_data, main_title="scale0001_0001_data") print() show_images1(data=scale1_1origin_data, main_title="scale1_1origin_data") show_images1(data=scale2_2_data, main_title="scale2_2_data") show_images1(data=scale3_3_data, main_title="scale3_3_data") show_images1(data=scale4_4_data, main_title="scale4_4_data") show_images1(data=scale5_5_data, main_title="scale5_5_data") show_images1(data=scale7_7_data, main_title="scale7_7_data") show_images1(data=scale10_10_data, main_title="scale10_10_data") show_images1(data=scale15_15_data, main_title="scale15_15_data") show_images1(data=scale25_25_data, main_title="scale25_25_data") show_images1(data=scale50_50_data, main_title="scale50_50_data") show_images1(data=scale100_100_data, main_title="scale100_100_data") show_images1(data=scale300_300_data, main_title="scale300_300_data") # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ def show_images2(data, main_title=None, d=None, t=None, sc=None, sh=None, ip=InterpolationMode.NEAREST, f=0, c=None): plt.figure(figsize=[10, 5]) plt.suptitle(t=main_title, y=0.8, fontsize=14) if main_title != "origin_data": for i, (im, _) in zip(range(1, 6), data): plt.subplot(1, 5, i) ra = RandomAffine(degrees=d, translate=t, scale=sc, shear=sh, interpolation=ip, center=c, fill=f) plt.imshow(X=ra(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="scale1_1origin_data", d=[0, 0], sc=[1, 1]) show_images2(data=origin_data, main_title="scale01_5_data", d=[0, 0], sc=[0.1, 5]) show_images2(data=origin_data, main_title="scale01_1_data", d=[0, 0], sc=[0.1, 1]) show_images2(data=origin_data, main_title="scale1_5_data", d=[0, 0], sc=[1, 5]) print() show_images2(data=origin_data, main_title="scale1_1origin_data", d=[0, 0], sc=[1, 1]) show_images2(data=origin_data, main_title="scale09_09_data", d=[0, 0], sc=[0.9, 0.9]) show_images2(data=origin_data, main_title="scale08_08_data", d=[0, 0], sc=[0.8, 0.8]) show_images2(data=origin_data, main_title="scale07_07_data", d=[0, 0], sc=[0.7, 0.7]) show_images2(data=origin_data, main_title="scale06_06_data", d=[0, 0], sc=[0.6, 0.6]) show_images2(data=origin_data, main_title="scale05_05_data", d=[0, 0], sc=[0.5, 0.5]) show_images2(data=origin_data, main_title="scale04_04_data", d=[0, 0], sc=[0.4, 0.4]) show_images2(data=origin_data, main_title="scale03_03_data", d=[0, 0], sc=[0.3, 0.3]) show_images2(data=origin_data, main_title="scale02_02_data", d=[0, 0], sc=[0.2, 0.2]) show_images2(data=origin_data, main_title="scale01_01_data", d=[0, 0], sc=[0.1, 0.1]) show_images2(data=origin_data, main_title="scale001_001_data", d=[0, 0], sc=[0.01, 0.01]) show_images2(data=origin_data, main_title="scale0001_0001_data", d=[0, 0], sc=[0.001, 0.001]) print() show_images2(data=origin_data, main_title="scale1_1origin_data", d=[0, 0], sc=[1, 1]) show_images2(data=origin_data, main_title="scale2_2_data", d=[0, 0], sc=[2, 2]) show_images2(data=origin_data, main_title="scale3_3_data", d=[0, 0], sc=[3, 3]) show_images2(data=origin_data, main_title="scale4_4_data", d=[0, 0], sc=[4, 4]) show_images2(data=origin_data, main_title="scale5_5_data", d=[0, 0], sc=[5, 5]) show_images2(data=origin_data, main_title="scale7_7_data", d=[0, 0], sc=[7, 7]) show_images2(data=origin_data, main_title="scale10_10_data", d=[0, 0], sc=[10, 10]) show_images2(data=origin_data, main_title="scale15_15_data", d=[0, 0], sc=[15, 15]) show_images2(data=origin_data, main_title="scale25_25_data", d=[0, 0], sc=[25, 25]) show_images2(data=origin_data, main_title="scale50_50_data", d=[0, 0], sc=[50, 50]) show_images2(data=origin_data, main_title="scale100_100_data", d=[0, 0], sc=[100, 100]) show_images2(data=origin_data, main_title="scale300_300_data", d=[0, 0], sc=[300, 300])
Top comments (0)