Объект 'ToPILImage' не имеет атрибута 'show' - PullRequest
0 голосов
/ 25 февраля 2019

Я выполняю задачу по обработке изображений и хочу объединить два сайта с изображениями.Для конкататирования я сначала преобразовал изображение в тензор, а затем преобразовал тензор в изображение 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()

, а вот код ошибки:

Traceback (последний вызов был последним): файл "F: /filelist.py", строка 39, в img.show () AttributeError: у объекта 'ToPILImage' нет атрибута 'show'

1 Ответ

0 голосов
/ 25 февраля 2019

Метод ToPILImage принимает в качестве входных данных тензор или ndarray, source .

Вам необходимо будет привести один тензор изображения к методу ToPILImage.Из вашего поста, я подозреваю, вы передаете партии тензор изображения вместо одного, следовательно, ошибка.

Предполагается, если вы хотите визуализировать изображение из тензора c,

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