gpt4 book ai didi

python - "Transform" NumPy 数组 : Move Dimension

转载 作者:太空宇宙 更新时间:2023-11-04 02:17:23 24 4
gpt4 key购买 nike

我正在创建数组 a:

import numpy as np
a = np.zeros((3, 10, 10), np.uint8)
a[1,5,5] = 255

中间有一个红点,其中RGB是第一维。然后我使用 matplotlib 绘制它:

import matplotlib.pyplot as plt
plt.imshow(a)

但这当然行不通,因为 imshow 需要一个维度为 (10, 10, 3) 的数组,而我正在为它提供一个维度为 (3, 10, 10) 的数组。我怎样才能“翻转”数组,使 RGB 成为第三维,而不是第一维?

最佳答案

你需要的是 swapaxes

import numpy as np
a = np.zeros((3, 10, 10), np.uint8)

print(a.shape) #(3,10,10)

print(np.swapaxes(a,0,2).shape) #(10,10,3)

参见 documentation .


np.swapaxes(a,0,2) 等于 np.transpose(a, (2,1,0))

还有一个选项是np.transpose(a, (1,2 0))

与往常一样,转置矩阵可以有两个版本,它们产生相似的结果但具有不同的 3 维旋转对称性。

这取决于镜像矩阵是否影响你的结果,你应该仔细测试它是否有所不同。

关于python - "Transform" NumPy 数组 : Move Dimension,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52360048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com