from torchvision import transforms
from PIL import Image
from torch.utils.tensorboard import SummaryWriter
w=SummaryWriter("logs")
img_path="dataset/train/ants/0013035.jpg"
img = Image.open(img_path)
# totensor将图片的格式转换为tensor
trans_tensor=transforms.ToTensor()
tensor_img=trans_tensor(img)
# 在tensorboard中添加图片
w.add_image("tensor_img",tensor_img)
print(tensor_img)
# 使用transform
# Normalize
print(tensor_img[0][0][0])
trans_norm = transforms.Normalize([0.5,0.5,0.5],[0.5,0.5,0.5])
img_norm=trans_norm(tensor_img)
print(img_norm[0][0][0])
w.add_image("Normalize",img_norm)
# Resize
print(img.size)
trans_resize=transforms.Resize((512,512))
img_resize=trans_resize(img)
img_resize = trans_tensor(img_resize)
w.add_image("resize",img_resize,0)
# print(img_resize)
# compose resize
trans_resize_2=transforms.Resize(512)
# 格式变换 PIL -> PIL -> tensor
trans_compose=transforms.Compose([trans_resize_2,trans_tensor])
img_compose=trans_compose(img)
w.add_image("resize_tensor",img_compose)
# random crop
trans_random=transforms.RandomCrop((256,256))
trans_compose_2=transforms.Compose([trans_random,trans_tensor])
for i in range(10):
img_crop=trans_compose_2(img)
w.add_image("randomcrop",img_crop,i)
w.close()
# 总结:
# 1.关注输入和输出类型
# 2.观看官方文档
# 3.关注方法需要什么参数