pytorch 深度学习中 图片复原 图片---tensor----图片

刚学习深度学习,涉及了图片转成 tensor 想看看变化后的图片效果,可以通过下边的方法进行tensor转图片
用了两种方法,涉及了pyplot和PIL 下面的程序写的很清楚了 觉得例子图片是market1501里边的其中一张图。

import matplotlib.pyplot as plt
from PIL import Image
import torchvision.transforms as transforms
import numpy as np

img = Image.open(r'C:\Users\MR  li\Pictures\person.jpg')#r 是转义符,Windows系统文件地址和pycharm不一样

transform = transforms.Compose([transforms.ToTensor()])#totensor 得到(C*H*W)
img_tensor = transform(img)#[3 128 64] 得到tensor形式

'''方法一
image.show()方式,来源于PIL
'''
to_pil_img = transforms.ToPILImage()#tensor 重新转化成图片格式
img2 = to_pil_img(img_tensor)

#img2.show()

'''方法二
plt.imshow()  plt.show()  针对的是数组形式 (array)
所以需要把tensor 转化成numpy数组形式
'''
imgarray = img_tensor.numpy()#3 128 64
img3 = np.transpose(imgarray,(1,2,0))# 128 64 3  plt需要数组格式为  H W C

plt.suptitle("orignal -PIL- again")
plt.subplot(1,3,1)
plt.title("orignal img")
plt.imshow(img)#显示输入图片

plt.subplot(1,3,2)
plt.title("PIL img")
plt.imshow(img2)


plt.subplot(1,3,3)
plt.title("again img")
plt.imshow(img3)#显示重新转换回来
plt.show(

结果是这个样子 完全复原,因为没有对图片进行操作,仅仅是变成tensor(transfor里边显示)
在这里插入图片描述
下次有可能写 经过卷积 池化之后会变成什么样子 ,这篇当入门了

猜你喜欢

转载自blog.csdn.net/qq_37405118/article/details/105741955
今日推荐