我有一个4D数组(Python),其中包含10000个图像,每个图像有5个通道。每个图像的大小为25 * 25,即4D数组的形状为10000 * 5 * 25 * 25。
我需要转置这些图像。最简单的方法是使用嵌套循环:
for i in range(np.shape(img)[0]):
for j in range(np.shape(img)[1]):
img[i, j, :, :] = np.transpose(img[i, j, :, :])
但我相信有更有效率的方法可以完成这个任务。你有任何想法吗?
谢谢!
np.transpose(img, [0, 1, 3, 2])
。我相信这在这里以前已经被问过了 :) - MB-Fimg[i, j, :, :]
等同于img[i, j]
,因此您可以节省一些索引,这可能会提高代码的可读性。 - Jürg W. Spaak