numpy3维数组按深度方向堆叠

背景:有一个npy数组打开之后发现是(depth,h,w)的shape,但是tensorflow2的输入要求是(h,w,c)的格式,因此需要转一下,但是直接转shape的格式会改变图像,因此需要将图片单独取出来,然后做堆叠。

import numpy as np
import matplotlib.pyplot as plt

img = np.load('images_0001_0009.npy')
print(img.shape)


imgNew = img[0]
for i in range(1,3):
    imgNew = np.dstack((imgNew,img[i])) # 堆叠

print(imgNew.shape)
""" img[0] 和 img[:,:,0]是同一张图 """
imgte = imgNew[:,:,1]
img0 = img[1]

plt.subplot(1,2,1)
plt.imshow(imgte,cmap='gray')
plt.title('imgte')
plt.subplot(1,2,2)
plt.title('img0')
plt.imshow(img0,cmap='gray')
plt.show()

numpy3维数组按深度方向堆叠_第1张图片

 

你可能感兴趣的:(深度学习,tensorflow2,python)