numpy中 np.stack和 np.concatenate 的区别
说明:imgs是list类型。里面存放的是numpy数组,shape = (1,h,w)
1.1、np.stack:堆叠
作用:在第一个维度之前新增加一个维度,即 由 C H W --> B C H W
- 情况1:imgs大小为1
im = np.stack(imgs) # (1,h,w) --> (1,1,h,w)
- 情况2:imgs大小为10
im = np.stack(imgs) # (1,h,w) --> (10,1,h,w)
1.2、np.concatenate:拼接
作用:在原来的维度基础上,将imgs中的多个numpy进行维度拼接。
- 情况1:imgs大小为1,axis=0
# axis=0表示在第一个维度上进行拼接操作
im = np.concatenate(imgs,axis=0)
im.shape = (1,h,w)
- 情况2:imgs大小为10,axis=0
# axis=0表示在第一个维度上进行拼接操作
im = np.concatenate(imgs,axis=0)
im.shape = (10,h,w)
- 情况3:imgs大小为10,axis=1
# axis=1表示在第二个维度上进行拼接操作
im = np.concatenate(imgs,axis=1)
im.shape = (1,h*10,w)