python - 如何像 2D 一样转置 3D 矩阵?
问题描述
我想转置 3D 矩阵但不触及最内部的列表。3D矩阵是图像的numpy数组,转置的目标是旋转图像而不是改变像素值(rgb)。
image = np.array(
[
[[15, 15, 25], [50, 50, 50], [90, 90, 90], [255, 255, 255], [127, 127, 127]],
[[121, 121, 121], [75, 10, 75], [187, 187, 187], [0, 0, 0], [210, 50, 100]],
[[31, 31, 31], [63, 63, 63], [87, 87, 87], [63, 63, 63], [63, 63, 63]],
[[95, 95, 95], [95, 95, 95], [115, 115, 115], [87, 87, 87], [95, 95, 95]],
[[95, 95, 95], [63, 63, 63], [63, 63, 63], [87, 87, 87], [100, 250, 250]]
], dtype=np.uint8)
结果应该是这样的。
result = np.array(
[
[[15, 15, 25], [121, 121, 121], [31, 31, 31], [95, 95, 95], [95, 95, 95]],
[[50, 50, 50], [75, 10, 75], [63, 63, 63], [95, 95, 95], [63, 63, 63]],
[[90, 90, 90], [187, 187, 187], [87, 87, 87], [115, 115, 115], [63, 63, 63]],
[[255, 255, 255], [0, 0, 0], [63, 63, 63], [87, 87, 87], [87, 87, 87]],
[[127, 127, 127], [210, 50, 100], [63, 63, 63], [95, 95, 95], [100, 250, 250]]
], dtype=np.uint8)
解决方案
np.swapaxes(image, 0, 1)
推荐阅读
- reactjs - 使用 socket.io 反应如何在“useEffect”中使用状态
- python - Flask 正在缓存返回的响应
- python - 是否有更有效的鲁棒方法来为距离矩阵创建最小邻近度算法?
- javascript - 如何不显示此 div 中单元格之间的划分?
- javascript - 对象的 Jest toBeCloseTo
- ruby-on-rails - 为什么 Rails 5.2 应用程序不会在登录和重定向(Nginx/Unicorn/Ubuntu 20.4)上设置 cookie?
- java - 将对象数组列表添加到文本
- java - 广播接收器在设备重启时取消注册
- python - 为数据中的每个 x、y 值绘制水平和垂直线
- excel - 如何在 MS Excel 2016 中将多个列表合并为一个列表?