*Memos:
-
My post explains RandomAffine() without
shear
argument. - My post explains OxfordIIITPet().
RandomAffine() can do random rotation or random affine transformation for an image as shown below:
from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import RandomAffine
origin_data = OxfordIIITPet(
root="data",
transform=None
)
shear0_0_0_0origin_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, 0, 0])
)
shear90_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=90)
# transform=RandomAffine(degrees=[0, 0], shear=[-90, 90, 0, 0])
)
shear0_90_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 90])
# transform=RandomAffine(degrees=[0, 0], shear=[0, 90, 0, 0])
)
shearn90_0_data = OxfordIIITPet( # `n` is negative.
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[-90, 0])
# transform=RandomAffine(degrees=[0, 0], shear=[-90, 0, 0, 0])
)
shearn90_90n90_90_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[-90, 90, -90, 90])
)
shear10_10_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[10, 10, 0, 0])
)
shear20_20_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[20, 20, 0, 0])
)
shear30_30_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[30, 30, 0, 0])
)
shear40_40_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[40, 40, 0, 0])
)
shear50_50_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[50, 50, 0, 0])
)
shear60_60_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[60, 60, 0, 0])
)
shear70_70_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[70, 70, 0, 0])
)
shear80_80_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[80, 80, 0, 0])
)
shear90_90_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[90, 90, 0, 0])
)
shearn10n10_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[-10, -10, 0, 0])
)
shearn20n20_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[-20, -20, 0, 0])
)
shearn30n30_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[-30, -30, 0, 0])
)
shearn40n40_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[-40, -40, 0, 0])
)
shearn50n50_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[-50, -50, 0, 0])
)
shearn60n60_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[-60, -60, 0, 0])
)
shearn70n70_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[-70, -70, 0, 0])
)
shearn80n80_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[-80, -80, 0, 0])
)
shearn90n90_0_0_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[-90, -90, 0, 0])
)
shear0_0_10_10_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, 10, 10])
)
shear0_0_20_20_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, 20, 20])
)
shear0_0_30_30_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, 30, 30])
)
shear0_0_40_40_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, 40, 40])
)
shear0_0_50_50_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, 50, 50])
)
shear0_0_60_60_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, 60, 60])
)
shear0_0_70_70_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, 70, 70])
)
shear0_0_80_80_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, 80, 80])
)
shear0_0_90_90_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, 90, 90])
)
shear0_0n10n10_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, -10, -10])
)
shear0_0n20n20_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, -20, -20])
)
shear0_0n30n30_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, -30, -30])
)
shear0_0n40n40_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, -40, -40])
)
shear0_0n50n50_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, -50, -50])
)
shear0_0n60n60_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, -60, -60])
)
shear0_0n70n70_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, -70, -70])
)
shear0_0n80n80_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, -80, -80])
)
shear0_0n90n90_data = OxfordIIITPet(
root="data",
transform=RandomAffine(degrees=[0, 0], shear=[0, 0, -90, -90])
)
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=shear0_0_0_0origin_data,
main_title="shear0_0_0_0origin_data")
show_images1(data=shear90_data, main_title="shear90_data")
show_images1(data=shear0_90_data, main_title="shear0_90_data")
show_images1(data=shearn90_0_data, main_title="shearn90_0_data")
show_images1(data=shearn90_90n90_90_data, main_title="shearn90_90n90_90_data")
print()
show_images1(data=shear0_0_0_0origin_data,
main_title="shear0_0_0_0origin_data")
show_images1(data=shear10_10_0_0_data, main_title="shear10_10_0_0_data")
show_images1(data=shear20_20_0_0_data, main_title="shear20_20_0_0_data")
show_images1(data=shear30_30_0_0_data, main_title="shear30_30_0_0_data")
show_images1(data=shear40_40_0_0_data, main_title="shear40_40_0_0_data")
show_images1(data=shear50_50_0_0_data, main_title="shear50_50_0_0_data")
show_images1(data=shear60_60_0_0_data, main_title="shear60_60_0_0_data")
show_images1(data=shear70_70_0_0_data, main_title="shear70_70_0_0_data")
show_images1(data=shear80_80_0_0_data, main_title="shear80_80_0_0_data")
show_images1(data=shear90_90_0_0_data, main_title="shear90_90_0_0_data")
print()
show_images1(data=shear0_0_0_0origin_data,
main_title="shear0_0_0_0origin_data")
show_images1(data=shearn10n10_0_0_data, main_title="shearn10n10_0_0_data")
show_images1(data=shearn20n20_0_0_data, main_title="shearn20n20_0_0_data")
show_images1(data=shearn30n30_0_0_data, main_title="shearn30n30_0_0_data")
show_images1(data=shearn40n40_0_0_data, main_title="shearn40n40_0_0_data")
show_images1(data=shearn50n50_0_0_data, main_title="shearn50n50_0_0_data")
show_images1(data=shearn60n60_0_0_data, main_title="shearn60n60_0_0_data")
show_images1(data=shearn70n70_0_0_data, main_title="shearn70n70_0_0_data")
show_images1(data=shearn80n80_0_0_data, main_title="shearn80n80_0_0_data")
show_images1(data=shearn90n90_0_0_data, main_title="shearn90n90_0_0_data")
print()
show_images1(data=shear0_0_0_0origin_data,
main_title="shear0_0_0_0origin_data")
show_images1(data=shear0_0_10_10_data, main_title="shear0_0_10_10_data")
show_images1(data=shear0_0_20_20_data, main_title="shear0_0_20_20_data")
show_images1(data=shear0_0_30_30_data, main_title="shear0_0_30_30_data")
show_images1(data=shear0_0_40_40_data, main_title="shear0_0_40_40_data")
show_images1(data=shear0_0_50_50_data, main_title="shear0_0_50_50_data")
show_images1(data=shear0_0_60_60_data, main_title="shear0_0_60_60_data")
show_images1(data=shear0_0_70_70_data, main_title="shear0_0_70_70_data")
show_images1(data=shear0_0_80_80_data, main_title="shear0_0_80_80_data")
show_images1(data=shear0_0_90_90_data, main_title="shear0_0_90_90_data")
print()
show_images1(data=shear0_0_0_0origin_data,
main_title="shear0_0_0_0origin_data")
show_images1(data=shear0_0n10n10_data, main_title="shear0_0n10n10_data")
show_images1(data=shear0_0n20n20_data, main_title="shear0_0n20n20_data")
show_images1(data=shear0_0n30n30_data, main_title="shear0_0n30n30_data")
show_images1(data=shear0_0n40n40_data, main_title="shear0_0n40n40_data")
show_images1(data=shear0_0n50n50_data, main_title="shear0_0n50n50_data")
show_images1(data=shear0_0n60n60_data, main_title="shear0_0n60n60_data")
show_images1(data=shear0_0n70n70_data, main_title="shear0_0n70n70_data")
show_images1(data=shear0_0n80n80_data, main_title="shear0_0n80n80_data")
show_images1(data=shear0_0n90n90_data, main_title="shear0_0n90n90_data")
# ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
def show_images2(data, main_title=None, d=0, t=None,
sc=None, sh=None, f=0, c=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)
ra = RandomAffine(degrees=d, translate=t, scale=sc, # Here
shear=sh, center=c, fill=f)
plt.imshow(X=ra(im)) # Here
plt.xticks(ticks=[])
plt.yticks(ticks=[])
plt.tight_layout()
plt.show()
show_images2(data=origin_data, main_title="shear0_0_0_0origin_data",
d=[0, 0], sh=[0, 0, 0, 0])
show_images2(data=origin_data, main_title="shear90_data",
d=[0, 0], sh=90)
show_images2(data=origin_data, main_title="shear0_90_data",
d=[0, 0], sh=[0, 90])
show_images2(data=origin_data, main_title="shearn90_0_data",
d=[0, 0], sh=[-90, 0])
show_images2(data=origin_data, main_title="shearn90_90n90_90_data",
d=[0, 0], sh=[-90, 90, -90, 90])
print()
show_images2(data=origin_data, main_title="shear0_0_0_0origin_data",
d=[0, 0], sh=[0, 0, 0, 0])
show_images2(data=origin_data, main_title="shear10_10_0_0_data",
d=[0, 0], sh=[10, 10, 0, 0])
show_images2(data=origin_data, main_title="shear20_20_0_0_data",
d=[0, 0], sh=[20, 20, 0, 0])
show_images2(data=origin_data, main_title="shear30_30_0_0_data",
d=[0, 0], sh=[30, 30, 0, 0])
show_images2(data=origin_data, main_title="shear40_40_0_0_data",
d=[0, 0], sh=[40, 40, 0, 0])
show_images2(data=origin_data, main_title="shear50_50_0_0_data",
d=[0, 0], sh=[50, 50, 0, 0])
show_images2(data=origin_data, main_title="shear60_60_0_0_data",
d=[0, 0], sh=[60, 60, 0, 0])
show_images2(data=origin_data, main_title="shear70_70_0_0_data",
d=[0, 0], sh=[70, 70, 0, 0])
show_images2(data=origin_data, main_title="shear80_80_0_0_data",
d=[0, 0], sh=[80, 80, 0, 0])
show_images2(data=origin_data, main_title="shear90_90_0_0_data",
d=[0, 0], sh=[90, 90, 0, 0])
print()
show_images2(data=origin_data, main_title="shear0_0_0_0origin_data",
d=[0, 0], sh=[0, 0, 0, 0])
show_images2(data=origin_data, main_title="shearn10n10_0_0_data",
d=[0, 0], sh=[-10, -10, 0, 0])
show_images2(data=origin_data, main_title="shearn20n20_0_0_data",
d=[0, 0], sh=[-20, -20, 0, 0])
show_images2(data=origin_data, main_title="shearn30n30_0_0_data",
d=[0, 0], sh=[-30, -30, 0, 0])
show_images2(data=origin_data, main_title="shearn40n40_0_0_data",
d=[0, 0], sh=[-40, -40, 0, 0])
show_images2(data=origin_data, main_title="shearn50n50_0_0_data",
d=[0, 0], sh=[-50, -50, 0, 0])
show_images2(data=origin_data, main_title="shearn60n60_0_0_data",
d=[0, 0], sh=[-60, -60, 0, 0])
show_images2(data=origin_data, main_title="shearn70n70_0_0_data",
d=[0, 0], sh=[-70, -70, 0, 0])
show_images2(data=origin_data, main_title="shearn80n80_0_0_data",
d=[0, 0], sh=[-80, -80, 0, 0])
show_images2(data=origin_data, main_title="shearn90n90_0_0_data",
d=[0, 0], sh=[-90, -90, 0, 0])
print()
show_images2(data=origin_data, main_title="shear0_0_0_0origin_data",
d=[0, 0], sh=[0, 0, 0, 0])
show_images2(data=origin_data, main_title="shear0_0_10_10_data",
d=[0, 0], sh=[0, 0, 10, 10])
show_images2(data=origin_data, main_title="shear0_0_20_20_data",
d=[0, 0], sh=[0, 0, 20, 20])
show_images2(data=origin_data, main_title="shear0_0_30_30_data",
d=[0, 0], sh=[0, 0, 30, 30])
show_images2(data=origin_data, main_title="shear0_0_40_40_data",
d=[0, 0], sh=[0, 0, 40, 40])
show_images2(data=origin_data, main_title="shear0_0_50_50_data",
d=[0, 0], sh=[0, 0, 50, 50])
show_images2(data=origin_data, main_title="shear0_0_60_60_data",
d=[0, 0], sh=[0, 0, 60, 60])
show_images2(data=origin_data, main_title="shear0_0_70_70_data",
d=[0, 0], sh=[0, 0, 70, 70])
show_images2(data=origin_data, main_title="shear0_0_80_80_data",
d=[0, 0], sh=[0, 0, 80, 80])
show_images2(data=origin_data, main_title="shear0_0_90_90_data",
d=[0, 0], sh=[0, 0, 90, 90])
print()
show_images2(data=origin_data, main_title="shear0_0_0_0origin_data",
d=[0, 0], sh=[0, 0, 0, 0])
show_images2(data=origin_data, main_title="shear0_0n10n10_data",
d=[0, 0], sh=[0, 0, -10, -10])
show_images2(data=origin_data, main_title="shear0_0n20n20_data",
d=[0, 0], sh=[0, 0, -20, -20])
show_images2(data=origin_data, main_title="shear0_0n30n30_data",
d=[0, 0], sh=[0, 0, -30, -30])
show_images2(data=origin_data, main_title="shear0_0n40n40_data",
d=[0, 0], sh=[0, 0, -40, -40])
show_images2(data=origin_data, main_title="shear0_0n50n50_data",
d=[0, 0], sh=[0, 0, -50, -50])
show_images2(data=origin_data, main_title="shear0_0n60n60_data",
d=[0, 0], sh=[0, 0, -60, -60])
show_images2(data=origin_data, main_title="shear0_0n70n70_data",
d=[0, 0], sh=[0, 0, -70, -70])
show_images2(data=origin_data, main_title="shear0_0n80n80_data",
d=[0, 0], sh=[0, 0, -80, -80])
show_images2(data=origin_data, main_title="shear0_0n90n90_data",
d=[0, 0], sh=[0, 0, -90, -90])
Top comments (0)