PyTorch: 'ToTensor ()' превращает цветное изображение в 9 изображений в оттенках серого - PullRequest
4 голосов
/ 10 июля 2020

Я обнаружил, что когда я использую «ToTensor» для изображений, одно изображение становится отображаемым 9. Я проверил официальные документы, но не смог найти причину. Итак, почему изображение превращается в 9 изображений ??? Вопрос, как на следующем рисунке.

a = plt.imread('test.jpg')
plt.imshow(a)
plt.show()

enter image description here

transform = transforms.Compose([transforms.ToTensor()])
b = transform(a)
b = b.view(375,500,3)
plt.imshow(b)

введите описание изображения здесь

1 Ответ

2 голосов
/ 10 июля 2020

Когда вы используете transforms.ToTensor(), по умолчанию он меняет порядок входных массивов с HW C на CHW. Для построения графика вам нужно sh вернуть каналы к последнему измерению.

plt.imshow(b.permute(2, 0, 1))
...