'ToPILImage'对象没有属性'show'

时间:2019-02-25 08:51:44

标签: python python-imaging-library pytorch

我正在执行图像处理任务,并且想要合并两个图片位置。为了进行协调处理,我先将图像转换为张量,然后将张量转换为PIL图像以显示它,但报告错误。有人可以帮助我吗? 这是我的代码:

import skimage.io as io
import torch
from torchvision import  models, transforms
from PIL import Image
import matplotlib.pyplot as plt
from torchvision.transforms import ToPILImage
import numpy as np
from skimage import data_dir,io,color

coll1 = io.ImageCollection('F:\\code1/*.jpg')
coll2 = io.ImageCollection('F:\\code2/*.jpg')
a = torch.tensor(coll1)
print(a)
print(a.shape)
b = torch.tensor(coll2)
print(b)
print(b.shape)
c=torch.cat((a,b),1)
print(c.shape)
print(c)
img= transforms.ToPILImage()
img.show()

,这是错误代码:

  

回溯(最近一次通话最后一次):文件“ F:/filelist.py”,第39行,   在       img.show()AttributeError:“ ToPILImage”对象没有属性“ show”

1 个答案:

答案 0 :(得分:0)

ToPILImage方法接受张量或ndarray作为输入source

您将需要将单个图像张量转换为ToPILImage方法。从您的帖子中,我怀疑您正在传递成批的图像张量而不是一个,因此出现了错误。

假设您要可视化张量c中的图像,

img = transforms.ToPILImage()(c)
img.show()