Я хочу изменить размер изображения PIL без изменения диапазона значений пикселей.
Я пробовал Image.resize()
, но он изменяет мой диапазон значений пикселей с [0,255] на [79,179]
Я использую Python и PyTorch, в PyTorch transforms.resize()
будет реализовывать Image.resize()
Вот код теста, который я использовал
a = torch.randint(0,255,(500,500), dtype=torch.uint8)
print(a.size())
print(torch.max(a))
a = torch.unsqueeze(a, dim =0)
print(a.size())
compose = transforms.Compose([transforms.ToPILImage(),transforms.Resize((128,128))])
a_trans = compose(a)
print(a_trans.size)
print(a_trans.getextrema())
Вывод кода:
torch.Size([500, 500])
tensor(254, dtype=torch.uint8)
torch.Size([1, 500, 500])
(128, 128)
(79, 179)
Значит, кто-то может объяснить, почему выходной диапазон равен [79,179]?
Что мне делать, если я хочу изменить размер без изменения диапазона значений?
Заранее спасибо