Pytorch ——Tensor与PIL相互转换
- PIL_to_Tensor
主要利用torchvision库,它是pytorch的一个图形库,torchvision.transforms主要是用于常见的一些图形变换。主要运用ToTensor()方法转为tensor,并把灰度范围从0-255变换到0-1之间,还可以运用其它一系列方法,如:transform.Normalize(mean,std)可以进行想要的归一化
from PIL import Image
import torch
from torchvision import transforms
trans = transforms.Compose([transforms.ToTensor(),
transforms.Resize(256),
transform.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))])
img = Image.open(img_path)
img = trans(img)
img = torch.unsqueeze(0) # 填充一维
image = im_tensor.cpu().clone()
image = image.squeeze(0) # 压缩一维
image = transforms.ToPILImage(image) # 自动转换为0-255