python将三维数组保存,如何在Python / numpy中将3D数组结果保存到4D数组?

I am reading the information about 32 X 32 RGB images. So it is a 3D array with shape (32,32,3) third dimension holds the color R, G and B

Now, I want to read 50 such images and make a array of these images. So I decide to make a 4D array which will have dimension (50, 32, 32, 3) here 50 in first dimension is the number of images and the second, third and fourth dimension are the dimension of the image which are (32, 32, 3)

I tried doing it using concatenate but I get errors. Is there any way to do this?

解决方案

You need to add an axis before concatenation, e.g.

import numpy as np

arrs = [np.random.random((32, 32, 3))

for i in range(50)]

res = np.concatenate([arr[np.newaxis] for arr in arrs])

res.shape

# (50, 32, 32, 3)

Edit: alternatively, in this case you can simply call np.array on your list of arrays:

res = np.array(arrs)

res.shape

# (50, 32, 32, 3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值