*Memos:
-
My post explains RandomResizedCrop() about
size
argument. -
My post explains RandomResizedCrop() about
scale
argument. -
My post explains RandomResizedCrop() about
ratio
argument. -
My post explains RandomResizedCrop() about
scale
argument withratio=[1, 1]
. -
My post explains RandomResizedCrop() about
ratio
argument withscale=[0, 0]
. - My post explains OxfordIIITPet().
RandomResizedCrop() can crop a random part of an image, then resize it to a given size as shown below. *It's about size
argument with scale=[0, 0]
and ratio=[1, 1]
:
from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import RandomResizedCrop
from torchvision.transforms.functional import InterpolationMode
origin_data = OxfordIIITPet(
root="data",
transform=None
)
s1000sc0_0r1_1_data = OxfordIIITPet( # `s` is size and `sc` is scale.
root="data", # `r` is ratio.
transform=RandomResizedCrop(size=1000, scale=[0, 0], ratio=[1, 1])
)
s500sc0_0r1_1_data = OxfordIIITPet(
root="data",
transform=RandomResizedCrop(size=500, scale=[0, 0], ratio=[1, 1])
)
s100sc0_0r1_1_data = OxfordIIITPet(
root="data",
transform=RandomResizedCrop(size=100, scale=[0, 0], ratio=[1, 1])
)
s50sc0_0r1_1_data = OxfordIIITPet(
root="data",
transform=RandomResizedCrop(size=50, scale=[0, 0], ratio=[1, 1])
)
s10sc0_0r1_1_data = OxfordIIITPet(
root="data",
transform=RandomResizedCrop(size=10, scale=[0, 0], ratio=[1, 1])
)
s1sc0_0r1_1_data = OxfordIIITPet(
root="data",
transform=RandomResizedCrop(size=1, scale=[0, 0], ratio=[1, 1])
)
s600_900sc0_0r1_1_data = OxfordIIITPet(
root="data",
transform=RandomResizedCrop(size=[600, 900], scale=[0, 0], ratio=[1, 1])
)
s900_600sc0_0r1_1_data = OxfordIIITPet(
root="data",
transform=RandomResizedCrop(size=[900, 600], scale=[0, 0], ratio=[1, 1])
)
s200_300sc0_0r1_1_data = OxfordIIITPet(
root="data",
transform=RandomResizedCrop(size=[200, 300], scale=[0, 0], ratio=[1, 1])
)
s300_200sc0_0r1_1_data = OxfordIIITPet(
root="data",
transform=RandomResizedCrop(size=[300, 200], scale=[0, 0], ratio=[1, 1])
)
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.tight_layout()
plt.show()
show_images1(data=origin_data, main_title="origin_data")
show_images1(data=s1000sc0_0r1_1_data, main_title="s1000sc0_0r1_1_data")
show_images1(data=s500sc0_0r1_1_data, main_title="s500sc0_0r1_1_data")
show_images1(data=s100sc0_0r1_1_data, main_title="s100sc0_0r1_1_data")
show_images1(data=s50sc0_0r1_1_data, main_title="s50sc0_0r1_1_data")
show_images1(data=s10sc0_0r1_1_data, main_title="s10sc0_0r1_1_data")
show_images1(data=s1sc0_0r1_1_data, main_title="s1sc0_0r1_1_data")
print()
show_images1(data=origin_data, main_title="origin_data")
show_images1(data=s600_900sc0_0r1_1_data, main_title="s600_900sc0_0r1_1_data")
show_images1(data=s900_600sc0_0r1_1_data, main_title="s900_600sc0_0r1_1_data")
show_images1(data=s200_300sc0_0r1_1_data, main_title="s200_300sc0_0r1_1_data")
show_images1(data=s300_200sc0_0r1_1_data, main_title="s300_200sc0_0r1_1_data")
# ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
def show_images2(data, main_title=None, s=None, sc=(0.08, 1.0),
r=(0.75, 1.3333333333333333),
ip=InterpolationMode.BILINEAR, a=True):
plt.figure(figsize=[10, 5])
plt.suptitle(t=main_title, y=0.8, fontsize=14)
if s:
for i, (im, _) in zip(range(1, 6), data):
plt.subplot(1, 5, i)
rrc = RandomResizedCrop(size=s, scale=sc,
ratio=r, interpolation=ip,
antialias=a)
plt.imshow(X=rrc(im))
else:
for i, (im, _) in zip(range(1, 6), data):
plt.subplot(1, 5, i)
plt.imshow(X=im)
plt.tight_layout()
plt.show()
show_images2(data=origin_data, main_title="origin_data")
show_images2(data=origin_data, main_title="s1000sc0_0r1_1_data", s=1000,
sc=[0, 0], r=[1, 1])
show_images2(data=origin_data, main_title="s500sc0_0r1_1_data", s=500,
sc=[0, 0], r=[1, 1])
show_images2(data=origin_data, main_title="s100sc0_0r1_1_data", s=100,
sc=[0, 0], r=[1, 1])
show_images2(data=origin_data, main_title="s50sc0_0r1_1_data", s=50,
sc=[0, 0], r=[1, 1])
show_images2(data=origin_data, main_title="s10sc0_0r1_1_data", s=10,
sc=[0, 0], r=[1, 1])
show_images2(data=origin_data, main_title="s1sc0_0r1_1_data", s=1,
sc=[0, 0], r=[1, 1])
print()
show_images2(data=origin_data, main_title="origin_data")
show_images2(data=origin_data, main_title="s600_900sc0_0r1_1_data",
s=[600, 900], sc=[0, 0], r=[1, 1])
show_images2(data=origin_data, main_title="s900_600sc0_0r1_1_data",
s=[900, 600], sc=[0, 0], r=[1, 1])
show_images2(data=origin_data, main_title="s200_300sc0_0r1_1_data",
s=[200, 300], sc=[0, 0], r=[1, 1])
show_images2(data=origin_data, main_title="s300_200sc0_0r1_1_data",
s=[300, 200], sc=[0, 0], r=[1, 1])