【发布时间】:2020-02-17 12:15:48
【问题描述】:
我有一个 PIL 图像列表:p0、p1、...、p85999(总共 86000 个)。它们都是 RGB,大小为 30x30px。
我需要将它们转换为规范化的 numpy 数组,我做了以下操作:
[np.asarray(r).astype('float32') / 255.0) for r in images]
r 是 PIL 图像。
这给出了一个 numpy 数组的数组。
但是,这些数组有时形状为 (30,30,3),有时形状为 (30,30)。
我希望他们始终保持良好状态(30,30,3)。
我猜 numpy 这样做是出于性能原因(当 RGB 不是 需要,例如。白色图像?)。
无论如何,如何获得所需的结果 - 让所有 numpy 数组的大小为(30,30,3)?
另外,理想情况下,我希望我的最终 numpy 数组的大小为 (30, 30, 3, 86000)。是否有直接从 PIL 图像创建这样一个数组的快捷方式?
【问题讨论】:
标签: python arrays numpy image-processing