首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中是否有一种方法来堆栈大小相同的像素数组(例如z堆栈)?

在python中是否有一种方法来堆栈大小相同的像素数组(例如z堆栈)?
EN

Stack Overflow用户
提问于 2022-04-01 14:56:06
回答 2查看 105关注 0票数 -1

我只是想澄清一下,例如,我能不能把几个二维数组堆成一个图像?

代码语言:javascript
复制
array1=[[0,0,0,0,0]
        [0,7.6,7,7.2,0]
        [0,7.6,7,0,0]
        [0,0,0,0,0]]

array2=[[0,0,0,0,0]
        [0,7.6,7,7.2,0]
        [0,7.6,7,0,0]
        [0,0,0,0,0]]

然后在3D空间中看到它们,比如链接中的多维数据集示例

除了尝试使用极客代码制作其他东西之外,我并没有真正尝试过其他的东西。因此,任何方向都会受到感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-01 15:19:38

假设numpy数组作为输入(不是python列表),可以使用numpy.dstack

代码语言:javascript
复制
out = np.dstack((array1, array2))

产出:

代码语言:javascript
复制
array([[[0. , 0. ],
        [0. , 0. ],
        [0. , 0. ],
        [0. , 0. ],
        [0. , 0. ]],

       [[0. , 0. ],
        [7.6, 7.6],
        [7. , 7. ],
        [7.2, 7.2],
        [0. , 0. ]],

       [[0. , 0. ],
        [7.6, 7.6],
        [7. , 7. ],
        [0. , 0. ],
        [0. , 0. ]],

       [[0. , 0. ],
        [0. , 0. ],
        [0. , 0. ],
        [0. , 0. ],
        [0. , 0. ]]])

虽然,如果您想要绘制,可能更容易有一个数组和循环的列表。

票数 0
EN

Stack Overflow用户

发布于 2022-05-29 02:41:17

我相信你是在找这样的东西。我用不同的颜色表示深度维,并增加了+z的深度。

代码语言:javascript
复制
A = np.array([ [*array1],[*array2] ])
ax = plt.axes(projection='3d')
z_c = ['k','blue']
[ax.scatter(z+A[z,y,x], y, x, c=z_c[z]) for z in range(A.shape[0]) \
 for y in range(A.shape[1]) for x in range(A.shape[2])]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71708915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档