Изменение размера изображения PIL изменить значение в пикселях? - PullRequest
0 голосов
/ 23 января 2019

Я хочу изменить размер изображения 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]? Что мне делать, если я хочу изменить размер без изменения диапазона значений? Заранее спасибо

1 Ответ

0 голосов
/ 23 января 2019

Попробуйте изменить размер с помощью алгоритма ближайшего соседа, реализованного в pil.Это не меняет пикселей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...