import torch
from PIL import Image
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import numpy
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
img = Image.open('D:\datasets\img\lena.jpg')
plt.figure()
plt.imshow(img)
plt.title('原图',fontsize=12,color='r')
plt.show()
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize(mean=(0,0,0), std=(8,8,8)),
])
img1 = transform(img)
img1 = np.array(img1*255, dtype=np.uint8)
print('转换后的shape', img.shape)
img_np = np.zeros((200,200,3),dtype=np.uint8)
img_np[:,:,0] = np.array(img1[0,:,:])
img_np[:,:,1] = np.array(img1[1,:,:])
img_np[:,:,2] = np.array(img1[2,:,:])
plt.figure()
plt.imshow(img_np)
plt.title('转换后',fontsize=12,color='r')
plt.show()
print('转为适合imshow后的shape', img_np.shape)
img2 = img1.transpose(1,2,0)
print(img2.shape)
plt.figure()
plt.imshow(img2)
plt.show()
转换为向量的方式2
img_out = transforms.ToTensor()(img_in)
unloader = transforms.ToPILImage()
image = image.squeeze(0)
image = unloader(image)