展平平铺数组

我有一个形状为 (16, 32, 16, 16) 的平铺 numpy 数组,即每个平铺都是 16x16 像素,网格为 32 个平铺宽,16 个高。

从这里我想将其重塑为 256 高 x 512 宽的 2D 图像,但我无法找到正确的分割、切片和重塑咒语来达到我想要的效果。


牧羊人nacy
浏览 105回答 1
1回答

皈依舞

您可以结合 numpy 的 reshape 和 transpose 来完成这项工作。我不完全确定三个“16”中的哪一个属于 32x16 重复网格,但假设它是第一个:import numpy as npdata = np.random.random((16, 32, 16, 16))# put number of repetitions next to respective dimensiontransposed_data = np.transpose(data, (0, 2, 1, 3))# concatenate repeated dimensions via reshapereshaped_data = transposed_data.reshape((16 * 16, 32 * 16))print(reshaped_data.shape)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python