Как сохранить изображение в градациях серого в Pytorch? - PullRequest
0 голосов
/ 27 марта 2019

Я хочу сохранить изображение в градациях серого в Pytorch, каждое изображение имеет четыре значения серого: 0, 60, 120 и 180. Я пытаюсь сохранить изображения следующим образом, но это не то изображение, которое я ожидал.

for i, (inputs) in enumerate(test_generator):
    pred = modelPl(inputs.float()).detach()
    fig,ax = plt.subplots(1,1,figsize = (5,5))
    ax.imshow(pred[0,:,:], cmap = "gray")
    print(pred.shape)
    torchvision.utils.save_image(pred, saveTestPath + 'img_{0}.png'.format(i)) 

Output: torch.Size([400, 400])

Expected image:

enter image description here

Тем не менее, сохраненное изображение не является правильным, как показано ниже:

enter image description here

1 Ответ

2 голосов
/ 27 марта 2019

Возможно, torchvision.utils.save_image требует, чтобы значения находились в диапазоне от 0 до 1. Ваши изображения имеют значения больше 1, и, следовательно, проблема.

Вы можете проверить это, разделив тензор на 255 (или некоторое соответствующее число).Вы также можете попытаться установить normalize=True и посмотреть, сможет ли он автоматически нормализовать данные для вас.

...