将数组从一种形状转换为另一种形状?

Converting an array from one shape to another?

我有一个视频,即保存在数组中的图像序列。输出为:

Output:
(13,9,9)

其中13代表13个图像序列,两个9代表像素。我希望将数组转换为如下输出:

Output:
(81,13)

其中 81 代表 81 个像素实例,而 13 正在捕获时域,即及时的视频帧。然后我会把它输入我的 CNN。

有人有什么建议吗?因为使用 array.reshape(81,13) 当然不行。

假设 x 是原始视频 3D 数组,您需要将其转换为所需的 2D 数组:

import numpy as np
x2d = x.transpose(1, 2, 0).reshape(-1, x.shape[0])

这也有效:

x2d = x.reshape(x.shape[0], -1).T

本质上,这个概念是以这样一种方式重塑或转置数组,即您想要的行中的元素最终应该位于连续的内存位置。