首页 > 解决方案 > 如何将数据分配给多维 numpy 数组?

问题描述

我有一个numpy array batch初始化如下:

batch = np.zeros((50, 60, 1920, 1080, 3))

它应该是一个由 50 个不同的 60FPS 视频组成的数组,尺寸为 1920x1080,3 代表三个通道 - 红、绿、蓝。每个视频正好是 1 秒。

我遍历视频文件夹中的所有视频,并对每个视频的每一帧进行图像处理。然后,我将转换后的视频写入batch数组。如何正确索引批处理数组以保存符合batch数组维度的每个视频?

到目前为止,我已经尝试了以下方法:

batch[:batches_produced, :idx, :] = frame[:]

其中batches_produced是当前批次项目索引,idx是当前帧的索引,frame是维度的实际帧(1920x1080x3)

当我

print(batch_data[1,2,:,:,:].shape),它抛出

IndexError: index 1 is out of bounds for axis 0 with size 1.

不用说,这根本行不通。我花了我一天的大部分时间试图弄清楚这一点。

任何帮助将不胜感激!

标签: pythonnumpynumpy-ndarraymatrix-indexing

解决方案


推荐阅读