我正在执行图像处理任务,并且想要合并两个图片位置。为了进行协调处理,我先将图像转换为张量,然后将张量转换为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”
答案 0 :(得分:0)
ToPILImage
方法接受张量或ndarray作为输入source。
您将需要将单个图像张量转换为ToPILImage
方法。从您的帖子中,我怀疑您正在传递成批的图像张量而不是一个,因此出现了错误。
假设您要可视化张量c
中的图像,
img = transforms.ToPILImage()(c)
img.show()