赞
踩
from PIL import Image from torchvision import transforms import matplotlib.pyplot as plt img_path = "tulips.jpg" # 图片路径 img = Image.open(img_path) # 使用PIl读取图片 img1 = transforms.ToTensor()(img) # 把图片转化为tensor格式 img1 = img1.permute(1, 2, 0) # tensor数据类型为[C H W] 但是使用plt绘图需要格式为[H W C]这里使用permute函数来将格式更改 # img1 = img1.numpy() print(img1.shape) # torch.Size([296, 398, 3]) print(img1.dtype) # torch.float32 print(type(img1)) # <class 'torch.Tensor'> plt.subplot(1, 2, 1) # 绘制第一个子图 plt.imshow(img) plt.subplot(1, 2, 2) # 绘制第二个子图 plt.imshow(img1) plt.show() # 显示图像
展示的左边图像中PIL img是unint8的数据类型,即使用8bit (0-255) 来分别表示RGB三个通道中每一个通道的强度
展示的右边图像则是PIL image转化为tensor数据类型后显示,数值从0-255归一化到了0-1的浮点数,就是将原来0-255的数除以了255进行归一化,这一步包含在了ToTensor () 这个函数中
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。