我正在做一个图像处理任务,我想浓缩两个图片的站点。对于concatting,我首先将图像转换为张量,然后将张量转换为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()

下面是错误代码:
回溯(最近一次调用):File“F:/filelist.py”,第39行,

img.show()attributeRor:“ToPILImage”对象没有“show”属性

最佳答案

ToPILImage方法接受张量或ndarray作为输入,source
您需要将单个图像张量转换为ToPILImage方法。在你的帖子中,我怀疑你传递的是成批的图像张量,而不是一个,因此出现了错误。
假设你想从张量中看到图像,

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

关于python - 'ToPILImage'对象没有属性'show',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54862480/

10-09 08:40