transforms是pytorch中提供的一个图像预处理模块,可以方便地对图像进行各种操作。
from torchvision import transforms
通过ctrl加点击的方式,查看transforms源代码。
alt+7快捷键查看结构。

1,ToTensor方法
将PIL Image 或numpy.ndarray转换为tensor数据类型image

2,Normalize方法
用mean数据和standard数据将tensor image归一化处理,结果返回一个tensor image

3,Resize方法
将图片调整到指定大小

4,Copose方法
将一系列transforms方法打包起来,一起执行

5,RandomCrop 方法
随机裁剪指定大小的图片

代码示例:
from torchvision import transforms from PIL import Image from torch.utils.tensorboard import SummaryWriter image_path='images/pytorch.jpeg' img=Image.open(image_path) img=img.convert('RGB') print(type(img)) writer=SummaryWriter('logs') # ToTensor 将PIL Image or numpy.ndarray 转换为 tensor数据类型 trans_tensor=transforms.ToTensor() tensor_img=trans_tensor(img) print(tensor_img) writer.add_image('tensor_image',tensor_img,1) #Normalize归一化 print(tensor_img[0][0][0]) trans_norm=transforms.Normalize([0.5,0.5,0.5],[0.5,0.5,0.5]) norm_img=trans_norm(tensor_img) print(norm_img[0][0][0]) writer.add_image('norm_img',norm_img,1) # Resize 调整大小 trans_resize=transforms.Resize((512,512)) resize_img=trans_resize(img) print(type(resize_img)) resize_img=trans_tensor(resize_img) writer.add_image('resize_img',resize_img,1) #Compose 一系列transforms方法包装起来 trans_compose=transforms.Compose([trans_resize,trans_tensor]) compose_img=trans_compose(img) writer.add_image('compose_img',compose_img,1) #RandomCrop 随机裁剪 trans_crop=transforms.RandomCrop((512,512)) trans_crop2=transforms.Compose([trans_crop,trans_tensor]) for i in range(10): crop_img = trans_crop2(img) writer.add_image('crop_img',crop_img,i) writer.close()
posted on
浙公网安备 33010602011771号