import torchvision
import matplotlib.pyplot as plt
from PIL import Image
from torchvision import transforms
def test(img=Image.open("./cat.png"), save_name=None):
plt.subplot(1, 2, 1)
w, h = img.size # w, h
plt.title("w="+str(w)+",h="+str(h))
plt.imshow(img)
plt.axis("off")
plt.subplot(1, 2, 2)
try:
img = aug(img)
except:
img = aug(img.convert("RGB"))
# img.convert("RGB").save("1.jpg")
w, h = img.size # w, h
plt.title("w="+str(w)+",h="+str(h))
plt.imshow(img)
plt.axis("off")
plt.savefig(save_name)
plt.show()
def test5(img=Image.open("cat.png"), save_name=None):
plt.subplot(2, 3, 1)
w, h = img.size # w, h
plt.title("w="+str(w)+",h="+str(h))
plt.imshow(img)
plt.axis("off")
img = aug(img)
for i in range(2, 7):
plt.subplot(2, 3, i)
w, h = img[i-2].size # w, h
plt.title("w="+str(w)+",h="+str(h))
plt.imshow(img[i-2])
plt.axis("off")
plt.savefig(save_name)
plt.show()
if __name__ == "__main__":
# aug = torchvision.transforms.CenterCrop([500, 400]) # h, w
# test(save_name="centercrop.png")
# aug = torchvision.transforms.ColorJitter(0.5, 0.5, 0.5, 0.5) # brightness, contrast, saturation. hue
# test(save_name="ColorJitter.png")
# aug = torchvision.transforms.FiveCrop(350)
# test5(save_name="FiveCrop.png")
# aug = torchvision.transforms.Grayscale(3) # output channel
# test(save_name="Grayscale.png")
# aug = torchvision.transforms.Pad([120, 60, 60, 120], padding_mode="reflect") # top down left right
# test(save_name="Pad-reflect.png")
# aug = torchvision.transforms.Pad([120, 60, 60, 120], padding_mode="edge") # top down left right
# test(save_name="Pad-edge.png")
# aug = torchvision.transforms.Pad([120, 60, 60, 120], fill=128, padding_mode="constant") # top down left right
# test(save_name="Pad.png")
# aug = torchvision.transforms.RandomAffine(90) # degree
# test(save_name="RandomAffine.png")
# aug = torchvision.transforms.RandomCrop(450) # degree
# test(save_name="RandomCrop.png")
# aug = torchvision.transforms.RandomResizedCrop(450) # degree
# test(save_name="RandomResizedCrop.png")
# aug = torchvision.transforms.RandomRotation(90) # degree
# test(save_name="RandomRotation.png")
# aug = torchvision.transforms.Resize([250, 250]) # degree
# test(save_name="Resize.png")
# aug = torchvision.transforms.RandomInvert(0.9)
# test(save_name="RandomInvert.png")
# aug = torchvision.transforms.RandomPosterize(2, 0.9)
# test(save_name="RandomPosterize.png")
# aug = torchvision.transforms.RandomSolarize(125, 0.9)
# test(save_name="RandomSolarize.png")
aug = torchvision.transforms.RandomEqualize(0.9)
test(save_name="RandomEqualize.png")
centercrop
ColorJitter
FiveCrop
Grayscale
Pad
Pad-edge
Pad-reflect
RandomAffine
RandomCrop
RandomEqualize
RandomInvert
RandomPosterize
RandomResizedCrop
RandomRotation
RandomSolarize
Resize