from PIL import Image
from tensorboardX import SummaryWriter
from torchvision import transforms#导入一些包
writer = SummaryWriter("logs")
img = Image.open("data/train/ants_image/0013035.jpg")
print(img)
#ToTensor
trans_totensor = transforms.ToTensor()
img_tensor = trans_totensor(img)
writer.add_image("ToTensor",img_tensor)
#Normalize
print(img_tensor[0][0][0])
trans_norm = transforms.Normalize([0.2,0.2,0.2],[0.2,0.2,0.2])
img_norm = trans_norm(img_tensor)
writer.add_image("Normalize",img_norm)
#Resize
print(img.size)
trans_resize = transforms.Resize((512,512))
img_resize = trans_resize(img)
img_resize = trans_totensor(img_resize)
print(img_resize)
writer.add_image("resize",img_resize,0)
#Compose _resize_2
trans_resize_2 = transforms.Resize(512)
trans_compose = transforms.Compose([trans_resize_2,trans_totensor])
#将两个函数合成一个函数,利用transform中的Compose进行合成,但是要注意图片格式
img_resize_2 = trans_compose(img)
writer.add_image("Resize_2",img_resize_2,1)
#RandomCrop
#会随意裁切出512*512大小的图片
trans_random = transforms.RandomCrop(512)
trans_compose_2 = transforms.Compose([trans_random,trans_totensor])
#随机裁切了十个Random的图片
for i in range(10):
img_crop = trans_compose_2(img)
writer.add_image("RandomCrop",img_crop,i)
writer.close()#关闭writer
今天学习了transforms中的几个类,包括ToTensor、Normalize、Resize、Randomcrop,也学会了该如何自己去查看一些函数的使用方法
遇到问题先查看官方文档,或者自己debug来锻炼自己的处理问题的能力,一定要注意官方的文档的阅读