我有三个矩阵,R、B、G,它们的大小都相同,比如 m*n。我想将它们全部堆叠到一个新矩阵(3*m* n 或 m*n*3)的不同 channel 中,如在 Matlab 中实现的:
A(:,:,1) = R
A(:,:,2) = G
A(:,:,3) = B
我如何在 Python 中有效地实现这一点?
最佳答案
numpy.stack应该适用于三个数组:
numpy.stack((R, G, B))
例如,
a = numpy.array([[1,2],[2,1]])
b = numpy.array([[3,3],[4,4]])
c = numpy.array([[5,6],[7,8]])
print(numpy.stack((a, b, c)))
打印
[[[1 2]
[2 1]]
[[3 3]
[4 4]]
[[5 6]
[7 8]]]
关于Python:如何沿新轴将多个数组堆叠在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44339314/