*Memos:
-
My post explains RandomCrop() about
size
argument. -
My post explains RandomCrop() about
pad_if_needed
argument. - My post explains OxfordIIITPet().
RandomCrop() can crop an image randomly as shown below. *It's about padding
, fill
and padding_mode
argument:
from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import RandomCrop
origin_data = OxfordIIITPet(
root="data",
transform=None
)
s300p100_data = OxfordIIITPet( # `s` is size and `p` is padding.
root="data",
transform=RandomCrop(size=300, padding=100)
# transform=RandomCrop(size=300, padding=[100, 100])
# transform=RandomCrop(size=300, padding=[100, 100, 100, 100])
)
s300p200_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=300, padding=200)
)
s700_594p100origin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[700, 594], padding=100)
)
s300p100_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=300, padding=100)
)
s600_594p100_50origin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[600, 594], padding=[100, 50])
)
s300p100_50_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=300, padding=[100, 50])
)
s650_494p25_50_75_100origin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[650, 494], padding=[25, 50, 75, 100])
)
s300p25_50_75_100_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=300, padding=[25, 50, 75, 100])
)
s300_194pn100origin_data = OxfordIIITPet( # `n` is negative.
root="data",
transform=RandomCrop(size=[300, 194], padding=-100)
)
s150pn100_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=150, padding=-100)
)
s300_294pn50n100origin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[300, 294], padding=[-50, -100])
)
s150pn50n100_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=150, padding=[-50, -100])
)
s350_294pn25n50n75n100origin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[350, 294], padding=[-25, -50, -75, -100])
)
s150pn25n50n75n100_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=150, padding=[-25, -50, -75, -100])
)
s600_444p25_50origin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[600, 444], padding=[25, 50])
)
s200p25_50_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=200, padding=[25, 50])
)
s400_344pn25n50origin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[400, 344], padding=[-25, -50])
)
s200pn25n50_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=200, padding=[-25, -50])
)
s400_444p25n50origin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[400, 444], padding=[25, -50])
)
s200p25n50_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=200, padding=[25, -50])
)
s600_344pn25_50origin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[600, 344], padding=[-25, 50])
)
s200pn25_50_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=200, padding=[-25, 50])
)
s700_594p150_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[700, 594], padding=150)
)
s700_594p200_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[700, 594], padding=200)
)
s700_594p250_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[700, 594], padding=250)
)
s700_594p300_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[700, 594], padding=300)
)
s700_594p350_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[700, 594], padding=350)
)
s700_594p100fgrayorigin_data = OxfordIIITPet( # `f` is fill.
root="data",
transform=RandomCrop(size=[700, 594], padding=100, fill=150)
# transform=RandomCrop(size=[700, 594], padding=100, fill=[150])
)
s300p100fgray_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=300, padding=100, fill=150)
)
s700_594p100fpurpleorigin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[700, 594], padding=100, fill=[160, 32, 240])
)
s300p100fpurple_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=300, padding=100, fill=[160, 32, 240])
)
s700_594p100pmconstantorigin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[700, 594], padding=100,
padding_mode='constant')
# `pm` is padding_mode.
)
s300p100pmconstant_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=300, padding=100, padding_mode='constant')
)
s700_594p100pmedgeorigin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[700, 594], padding=100, padding_mode='edge')
)
s300p100pmedge_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=300, padding=100, padding_mode='edge')
)
s700_594p100pmreflectorigin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[700, 594], padding=100, padding_mode='reflect')
)
s300p100pmreflect_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=300, padding=100, padding_mode='reflect')
)
s700_594p100pmsymmetricorigin_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=[700, 594], padding=100,
padding_mode='symmetric')
)
s300p100pmsymmetric_data = OxfordIIITPet(
root="data",
transform=RandomCrop(size=300, padding=100, padding_mode='symmetric')
)
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 in range(1, 6):
plt.subplot(1, 5, i)
plt.imshow(X=data[0][0])
plt.tight_layout()
plt.show()
show_images1(data=s700_594p100origin_data,
main_title="s700_594p100origin_data")
show_images1(data=s300p100_data, main_title="s300p100_data")
print()
show_images1(data=s600_594p100_50origin_data,
main_title="s600_594p100_50origin_data")
show_images1(data=s300p100_50_data, main_title="s300p100_50_data")
print()
show_images1(data=s650_494p25_50_75_100origin_data,
main_title="s650_494p25_50_75_100origin_data")
show_images1(data=s300p25_50_75_100_data,
main_title="s300p25_50_75_100_data")
print()
show_images1(data=s300_194pn100origin_data,
main_title="s300_194pn100origin_data")
show_images1(data=s150pn100_data,
main_title="s150pn100_data")
print()
show_images1(data=s300_294pn50n100origin_data,
main_title="s300_294pn50n100origin_data")
show_images1(data=s150pn50n100_data,
main_title="s150pn50n100_data")
print()
show_images1(data=s350_294pn25n50n75n100origin_data,
main_title="s350_294pn25n50n75n100origin_data")
show_images1(data=s150pn25n50n75n100_data,
main_title="s150pn25n50n75n100_data")
print()
show_images1(data=s600_444p25_50origin_data,
main_title="s600_444p25_50origin_data")
show_images1(data=s200p25_50_data,
main_title="s200p25_50_data")
print()
show_images1(data=s400_344pn25n50origin_data,
main_title="s400_344pn25n50origin_data")
show_images1(data=s200pn25n50_data,
main_title="s200pn25n50_data")
print()
show_images1(data=s400_444p25n50origin_data,
main_title="s400_444p25n50origin_data")
show_images1(data=s200p25n50_data,
main_title="s200p25n50_data")
print()
show_images1(data=s600_344pn25_50origin_data,
main_title="s600_344pn25_50origin_data")
show_images1(data=s200pn25_50_data,
main_title="s200pn25_50_data")
print()
show_images1(data=s700_594p100origin_data,
main_title="s700_594p100origin_data")
show_images1(data=s700_594p150_data,
main_title="s700_594p150_data")
show_images1(data=s700_594p200_data,
main_title="s700_594p200_data")
show_images1(data=s700_594p250_data,
main_title="s700_594p250_data")
show_images1(data=s700_594p300_data,
main_title="s700_594p300_data")
show_images1(data=s700_594p350_data,
main_title="s700_594p350_data")
print()
show_images1(data=s700_594p100fgrayorigin_data,
main_title="s700_594p100fgrayorigin_data")
show_images1(data=s300p100fgray_data, main_title="s300p100fgray_data")
print()
show_images1(data=s700_594p100fpurpleorigin_data,
main_title="s700_594p100fpurpleorigin_data")
show_images1(data=s300p100fpurple_data, main_title="s300p100fpurple_data")
print()
show_images1(data=s700_594p100pmconstantorigin_data,
main_title="s700_594p100pmconstantorigin_data")
show_images1(data=s300p100pmconstant_data,
main_title="s300p100pmconstant_data")
print()
show_images1(data=s700_594p100pmedgeorigin_data,
main_title="s700_594p100pmedgeorigin_data")
show_images1(data=s300p100pmedge_data, main_title="s300p100pmedge_data")
print()
show_images1(data=s700_594p100pmreflectorigin_data,
main_title="s700_594p100pmreflectorigin_data")
show_images1(data=s300p100pmreflect_data, main_title="s300p100pmreflect_data")
print()
show_images1(data=s700_594p100pmsymmetricorigin_data,
main_title="s700_594p100pmsymmetricorigin_data")
show_images1(data=s300p100pmsymmetric_data,
main_title="s300p100pmsymmetric_data")
# ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
def show_images2(data, main_title=None, s=None, p=None,
pin=False, f=0, pm='constant'):
plt.figure(figsize=[10, 5])
plt.suptitle(t=main_title, y=0.8, fontsize=14)
temp_s = s
im = data[0][0]
for i in range(1, 6):
plt.subplot(1, 5, i)
if not temp_s:
s = [im.size[1], im.size[0]]
rc = RandomCrop(size=s, padding=p, pad_if_needed=pin,
fill=f, padding_mode=pm)
plt.imshow(X=rc(im))
plt.tight_layout()
plt.show()
show_images2(data=origin_data, main_title="s700_594p100origin_data",
s=[700, 594], p=100)
show_images2(data=origin_data, main_title="s300p100_data", s=300, p=100)
print()
show_images2(data=origin_data, main_title="s600_594p100_50origin_data",
s=[600, 594], p=[100, 50])
show_images2(data=origin_data, main_title="s300p100_50_data", s=300,
p=[100, 50])
print()
show_images2(data=origin_data, main_title="s650_494p25_50_75_100origin_data",
s=[650, 494], p=[25, 50, 75, 100])
show_images2(data=origin_data, main_title="s300p25_50_75_100_data", s=300,
p=[25, 50, 75, 100])
print()
show_images2(data=origin_data, main_title="s300_194pn100origin_data",
s=[300, 194], p=-100)
show_images2(data=origin_data, main_title="s150pn100_data", s=150, p=-100)
print()
show_images2(data=origin_data, main_title="s300_294pn50n100origin_data",
s=[300, 294], p=[-50, -100])
show_images2(data=origin_data, main_title="s150pn50n100_data", s=150,
p=[-50, -100])
print()
show_images2(data=origin_data, main_title="s350_294pn25n50n75n100origin_data",
s=[350, 294], p=[-25, -50, -75, -100])
show_images2(data=origin_data, main_title="s150pn25n50n75n100_data", s=150,
p=[-25, -50, -75, -100])
print()
show_images2(data=origin_data, main_title="s600_444p25_50origin_data",
s=[600, 444], p=[25, 50])
show_images2(data=origin_data, main_title="s200p25_50_data", s=200,
p=[25, 50])
print()
show_images2(data=origin_data, main_title="s400_344pn25n50origin_data",
s=[400, 344], p=[-25, -50])
show_images2(data=origin_data, main_title="s200pn25n50_data", s=200,
p=[-25, -50])
print()
show_images2(data=origin_data, main_title="s400_444p25n50origin_data",
s=[400, 444], p=[25, -50])
show_images2(data=origin_data, main_title="s200p25n50_data", s=200,
p=[25, -50])
print()
show_images2(data=origin_data, main_title="s600_344pn25_50origin_data",
s=[600, 344], p=[-25, 50])
show_images2(data=origin_data, main_title="s200pn25_50_data", s=200,
p=[-25, 50])
print()
show_images2(data=origin_data, main_title="s700_594p100origin_data",
s=[700, 594], p=100)
show_images2(data=origin_data, main_title="s700_594p150_data",
s=[700, 594], p=150)
show_images2(data=origin_data, main_title="s700_594p200_data",
s=[700, 594], p=200)
show_images2(data=origin_data, main_title="s700_594p250_data",
s=[700, 594], p=250)
show_images2(data=origin_data, main_title="s700_594p300_data",
s=[700, 594], p=300)
show_images2(data=origin_data, main_title="s700_594p350_data",
s=[700, 594], p=350)
print()
show_images2(data=origin_data, main_title="s700_594p100fgrayorigin_data",
s=[700, 594], p=100, f=150)
show_images2(data=origin_data, main_title="s300p100fgray_data", s=300,
p=100, f=150)
print()
show_images2(data=origin_data, main_title="s700_594p100fpurpleorigin_data",
s=[700, 594], p=100, f=[160, 32, 240])
show_images2(data=origin_data, main_title="s300p100fpurple_data", s=300,
p=100, f=[160, 32, 240])
print()
show_images2(data=origin_data, main_title="s700_594p100pmconstantorigin_data",
s=[700, 594], p=100, pm='constant')
show_images2(data=origin_data, main_title="s300p100pmconstant_data", s=300,
p=100, pm='constant')
print()
show_images2(data=origin_data, main_title="s700_594p100pmedgeorigin_data",
s=[700, 594], p=100, pm='edge')
show_images2(data=origin_data, main_title="s300p100pmedge_data", s=300,
p=100, pm='edge')
print()
show_images2(data=origin_data, main_title="s700_594p100pmreflectorigin_data",
s=[700, 594], p=100, pm='reflect')
show_images2(data=origin_data, main_title="s300p100pmreflect_data", s=300,
p=100, pm='reflect')
print()
show_images2(data=origin_data, main_title="s700_594p100pmsymmetricorigin_data",
s=[700, 594], p=100, pm='symmetric')
show_images2(data=origin_data, main_title="s300p100pmsymmetric_data", s=300,
p=100, pm='symmetric')
Top comments (0)