我有三个矩阵,R,B,G,它们的大小都相同,比如m * n。我想将它们中的所有三个一起堆叠到一个新矩阵(3 * m * n或m * n * 3)的不同通道中,如在Matlab中实现的那样:
A(:,:,1) = R
A(:,:,2) = G
A(:,:,3) = B
如何在Python中有效地实现这一目标?
答案 0 :(得分:4)
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]]]