【发布时间】:2020-07-18 12:33:04
【问题描述】:
我正在尝试使用PIL 调整存储为 NumPy 数组的图像大小。但它似乎也可以跨通道标准化颜色,这是我不想要的。
如果我打印原始图像和更改图像的min()、mean()、max(),我得到以下信息:
0 139.3552607574856 255
0 92.91526075748563 235
0 62.96987110846718 207
0 116.63458655562165 255
0 162.5862423160817 255
0 189.97112433075552 255
因此,生成的图像看起来像原来的蓝色油漆。
这是我用于调整大小的代码:
def resize(img, shape):
pil_img = np2pil(img)
pil_img = pil_img.resize((shape[1], shape[0]))
np_img = pil2np(pil_img)
return np_img
def np2pil(img):
return Image.fromarray((img * 255).astype('uint8'))
def pil2np(img):
np_img = np.asarray(img)
if np_img.max() <= 1:
return (np_img * 255).astype(int)
else:
return np_img
库版本:
numpy==1.19.0
Pillow==7.2.0
【问题讨论】:
-
也尝试改变 resample 和 reducing_gap 参数,但它们在这里没有效果。
标签: python image numpy resize python-imaging-library