PIL图像调整大小会改变像素值吗?

时间:2019-01-23 07:04:15

标签: python image pytorch

我想在不更改像素值范围的情况下调整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 :(得分:0)

尝试使用pil中实现的最近邻居算法调整大小。不会改变像素