导入包
from PIL import Image from torch.utils.tensorboard import SummaryWriter from torchvision import transforms
保存在logs下面
图片路径,输出图片的类型为PIL
转化为Tensor类型
归一化Normalize
writer = SummaryWriter("logs")
img = Image.open("E:\notebookpytorch\pyTorch学习\images\pytorch.jpg")
print(img)
#ToTensor
trans_totensor = transforms.ToTensor()
img_tensor = trans_totensor(img)
writer.add_image("ToTensor",img_tensor) #结果进行输出
#class ToPILImage(object) 把totensor类型转化为PIL类型
#Normalize 归一化
print(img_tensor[0][0][0])#第0层第0行第0列
trans_norm = transforms.Normalize([6,3,2],[9,3,5]) #提供均值和标准差,图片为三通道所以是三个数。
img_norm = trans_norm(img_tensor)
print(img_norm[0][0][0])
#结果进行输出
writer.add_image("Normalize",img_norm,2) #把所有图片放在第2组,对应的0,1,2
writer.close()
#例子:(input-0.5)/0.5 = 2*input -1
#input[0,1]
#result[-1,1]
#查看图片 在黑框框下查看
#tensorboard --logdir=E:notebookpytorchpyTorch学习Transformslogs
logs在文件夹中的位置
调节图片尺寸Resize
等比例缩放图片大小Compose
#Resize(object) 将给定尺寸调节为别的尺寸/若只给定一个数,将等比例缩放
print(img.size)
trans_resize = transforms.Resize((512,512))
#img PIL -->resize-->img_resize PIL
img_resize = trans_resize(img)
#img_resize PIL-->totensor -->img_resize tentor
img_resize = trans_totensor(img_resize)
writer.add_image("Resize",img_resize,0)
print(img_resize)
writer.close
#Compose ->resize -2 改变比例
#compose()中的参数是需要一个列表([transforms参数1,transforms参数2])
trans_resize_2 = transforms.Resize(512)
trans_compose = transforms.Compose([trans_resize_2,trans_totensor])
img_resize_2 = trans_compose(img)
writer.add_image("Resize",img_resize_2,1)
对图片进行随机剪裁
#RandomCrop随机裁剪
# trans_random = transforms.RandomCrop(256) #512显示错误
trans_random = transforms.RandomCrop((25,50)) #50x1000
trans_compose_2 = transforms.Compose([trans_random,trans_totensor])
for i in range(10):
img_crop = trans_compose_2(img)
# writer.add_image("RandomCrop",img_crop,i)
writer.add_image("RandomCropHW",img_crop,i)
writer.close()



