np.stackドキュメントは説明します:
新しい軸に沿って配列のシーケンスを結合します。
axis
パラメータは、結果の次元での新しい軸のインデックスを指定します。たとえば、axis=0
それが最初の次元axis=-1
になる場合、およびそれが最後の次元になる場合 です。
指定された軸の新しい軸を生成し、その軸に沿って配列をスタックします
ここにコードテストがあります:
a = np.arange(8).reshape((2,2,2))
array([[[0, 1],
[2, 3]],
[[4, 5],
[6, 7]]])
b = np.arange(8).reshape((2,2,2))+1
array([[[1, 2],
[3, 4]],
[[5, 6],
[7, 8]]])
最初の2は2つのサンプルで、次の2 * 2はピクセルマトリックスです。aとbを2 * 2 * 2 * 2に変更するには、4番目の2がカラーチャネルを表します。
c = np.stack((a,b),axis=3)
array([[[[0, 1],
[1, 2]],
[[2, 3],
[3, 4]]],
[[[4, 5],
[5, 6]],
[[6, 7],
[7, 8]]]])
確認します。c[:、:、:、0]を参照してください。
c[:,:,:,0]
array([[[0, 1],
[2, 3]],
[[4, 5],
[6, 7]]])
また、2番目の色チャンネルになることもできます。
c = np.stack((a,b),axis=1)
array([[[[0, 1],
[2, 3]],
[[1, 2],
[3, 4]]],
[[[4, 5],
[6, 7]],
[[5, 6],
[7, 8]]]])
c[:,1,:,:]
array([[[1, 2],
[3, 4]],
[[5, 6],
[7, 8]]])
c[:,0,:,:]
array([[[0, 1],
[2, 3]],
[[4, 5],
[6, 7]]])