У меня есть список изображений PIL: p0, p1, ..., p85999 (всего 86000 из них). Все они RGB, размером 30x30px.
Мне нужно преобразовать их в нормализованные массивы, я сделал следующее:
[np.asarray(r).astype('float32') / 255.0) for r in images]
, где r
- этоPIL-изображение.
Это дает массив пустых массивов.
Однако эти массивы иногда имеют форму (30,30,3)
, а иногда - (30,30)
.
Iхочу, чтобы они всегда имели форму (30,30,3)
.
Я предполагаю, что numpy делает это по соображениям производительности (когда RGB не нужен, например, белые изображения?).
В любом случае, как получить желаемый результат - получить все массивы numpy размером (30,30,3)
?
Кроме того, в идеале, я бы хотел, чтобы мой конечный массив numpy был размером (30, 30, 3, 86000)
. Есть ли ярлык для создания такого массива прямо из изображений PIL?